Swift Programming Language training Course Content
Introduction to Swift Programming
- Getting started with application development
- Evolution of Swift
- Leveraging Xcode for the rapid application development
- Analyzing syntax of a simple application
- Swift programming fundamentals
- Decisions
- Loops
- Logic
- Coding variables, constants, statements & control blocks
- Testing code in interactive Playgrounds
Working with the Data Types
- Appraising built in types
- Choosing value types vs. reference types
- Simplifying code with type inference
- Writing safe & expressive code with optionals
- Creating user-defined types
- Returning compound values with tuples
- Selecting among enums, structs & classes
Developing Classes, Structures & Enumerations
- Declaring & initializing classes
- Encapsulating the specific tasks using methods & properties
- Applying inheritance & polymorphism to class objects
- Setting initial state with initializers
- Controlling access with public, private & internal modifiers
- Organizing compound values with structures
- Populating the struct properties with the memberwise initializer
- Contrasting functionalities of structs & classes
- Designating groups of values with enumerations
- Providing additional information with computed properties
- Assigning the initial values with custom initializers
- Matching enumeration values in switch statements
- Storing & accessing associated values
Constructing Functions & Closures
- Designing reusable functions for code modularity
- Performing the specific tasks with self contained blocks of code
- Modifying variables with in-out parameters
- Nesting the functions within functions to perform complex tasks
- Passing functions as function arguments
- Reducing code with closures
- Morphing the functions into closures
- Simplifying programming with anonymous in-line blocks
- Capturing the surrounding context
- Exploiting generics in applications
- Declaring generic functions that use generic types
- Constraining types passed to a generic function
Structuring Object-Oriented Class Hierarchies
- Reusing classes through aggregation
- Incorporate the has-a relationship in class design
- Employing collection types including arrays & dictionaries
- Iterating collections
- Exposing interfaces with protocols
- Conform to protocols to provide standard functionality
- Forming contracts with protocols
- Benefit from protocols in app design
- Extending the classes with inheritance
- Enhancing class functionality beyond a default implementation
- Identifying the is-a relationship
- Defining initializers in subclasses
- Leveraging the dynamic binding through polymorphism
- Customizing the existing classes with extensions
- Avoiding excessive inheritance
- Modify the classes without access to the base class source code
Integrating Swift with Objective-C
- Interacting with Objective-C frameworks
- Instantiating the Objective-C classes in Swift
- Accessing properties & methods
- Incorporating Objective-C & Swift in the same project
- Bridging Objective C header files into Swift
- Importing the Swift code into Objective C
Building GUIs with Swift
- Creation of simple iOS app
- Connecting actions & outlets