For more information contact us
Phone:
+1-425-748-5018
Fax: +1-425-644-2185
TrainingUSA@selagroup.com
Coming courses
Register/More info
More courses from
Mobile
Building iOS 8 Apps with Swift
Xamarin Workshop
Swift Fundamentals for iOS Developers
Developing Mobile Applications with Android
Developing Cross-Platform Mobile Applications in C# using Xamarin and MvvmCross
Swift - Version: 3
Swift 3.0 Fundamentals for iOS Developers
3 days course
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 3.0, the most recent version of the language, 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
Developers who want to learn developing IOS application with Swift.
Prerequisites
At least one year of programming experience with Objective-C for iOS and/or OS X
Topics
Introduction to Swift
Swift vs. Objective-C
Swift version history
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
Functional programming in Swift
LAB: Functions
Classes and Structures
The Swift type system
Properties
Initializers
Methods
Property observers
Access modifiers
Inheritance and polymorphism
Deinitializers
Structures
Classes or Structures?
LAB: Classes and Structures
Enumerations
Using enumerations
Associated values (sum types)
Enumerations with behavior
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
Protocol extensions instead of inheritance
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
Decorating Objective-C and C functions for better Swift visibility
LAB: Mixing and matching
Swift Course
I would like a representative to contact me regarding this activity
*
*
*
*
*