Swift Fundamentals for iOS Developers
Description
Swift is Apple's new programming language for iOS and OS X, which builds upon functional and generic languages and interoperates with Objective-C. In this one-day course you will make the transition from Objective-C to Swift while learning about Swift's syntax in detail, including closures, protocols, extensions, optional types, and many other topics. We will also discuss interoperability between Swift and Objective-C, including within the same project. The course is accompanied by multiple hands-on labs, in which you will experiment with Swift syntax and learn to use the language in the most effective manner. Prior experience with Objective-C development for either iOS or OS X is required.
Intended audience
IOS/OS X developers who want to learn developing with Swift.
▼Expand All
-
Introduction to Swift
-
Swift vs. Objective-C
-
Swift language principles
-
The REPL and Playgrounds
-
LAB: Getting started with Swift
-
-
Variables, Types, and Control Flow
-
Variables and constants
-
Built-in types
-
Conditional statements
-
Basic loops
-
LAB: Basic control flow
-
-
Optional Types
-
Optional variables
-
Testing and unwrapping
-
-
Collections
-
Tuples
-
Arrays
-
Dictionaries
-
Sets
-
LAB: Collections
-
-
Functions and Closures
-
Basic functions
-
Higher-order functions, nested functions
-
Closures
-
LAB: Functions
-
-
Classes and Structures
-
The Swift type system
-
Properties
-
Initializers
-
Methods
-
Property observers
-
Access modifiers
-
Inheritance and polymorphism
-
Structures
-
LAB: Classes and Structures
-
-
Enumerations
-
Using enumerations
-
Associated values (sum types)
-
-
Pattern matching
-
Basic pattern matching
-
Expression patterns
-
Custom expression matching
-
LAB: Pattern matching
-
-
Memory Management
-
Automatic reference counting (ARC)
-
Reference cycles
-
Weak and unowned references
-
Reference cycles with closures
-
-
Protocols
-
Protocol inheritance and casting
-
Some useful protocols
-
-
Extensions
-
Extending protocols
-
-
Generics
-
Generic functions
-
Generic classes
-
Constraints
-
Protocols and associated types
-
Complex constraints
-
LAB: Generics
-
-
Operators
-
Subscripts
-
Overloading operators
-
Custom operators
-
Associativity and precedence
-
-
Error Handling
-
Objective-C vs. Swift error handling
-
Throwing errors
-
Calling functions that throw
-
Deferred execution
-
-
Interop with Objective-C
-
Bridging basic types, classes, methods
-
Bridging strings and collections
-
Using id and optionals
-
Error handling
-
API availability
-
Mix and match in the same project
-
LAB: Mixing and matching
-
-
Swift 2.0
-
Xcode migrator
-
- At least one year of programming experience with Objective-C for iOS and/or OS X.
Contact Us
03-6176666
03-6176677
info@sela.co.il
SEND