Swift Development 101 Yellow Belt - Introduction course, 3 days
Course
In London
Description
-
Type
Course
-
Location
London
-
Class hours
18h
-
Duration
3 Days
-
Start date
Different dates available
Swift is Apple’s replacement for the Objective C language, that seeks to simplify the process of coding and modernise the language used for creating iOS and OS X apps.
Facilities
Location
Start date
Start date
About this course
Swift is Apple’s replacement for the Objective C language, that seeks to simplify the process of coding and modernise the language used for creating iOS and OS X apps. Swift manages to combine the power of an object orientated programming language – using controlled data-types and high level patterns of development – with the simplicity and ease of use of a scripting language. Cherry-picking many of the best concepts from other modern languages, Swift seeks to fix many inconstancies and dangers found in traditional coding, and offer the opportunity for developers to create new source code that is highly reduced from older Objective C patterns. Code written in Swift is easier to maintain, and allows more scope to experiment with the new Playgrounds feature found in Xcode. This course assumes basic knowledge of coding, and will be making references to the iOS APIs when demonstrating how to implement swift. This course is ideal for anyone who wants to have a thorough walkthrough of the language in more detail than on the standard iOS course, and is perfectly suited to anyone who has studies iOS/OSX development, and wants to cross over from Objective C into Swift.
This course is ideal for anyone who wants to have a thorough walkthrough of the language in more detail than on the standard iOS course, and is perfectly suited to anyone who has studies iOS/OSX development, and wants to cross over from Objective C into Swift.
This course assumes basic knowledge of coding, and will be making references to the iOS APIs when demonstrating how to implement swift.
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 16 years
Subjects
- C
- Inheritance
- IT Development
- Yellow Belt
- Swift
- Swift Code
- Data Patterns
- Control Flow
- Patterns
- Apple APIs
- IOS
- Xcode
Teachers and trainers (1)
Chakib Labidi
trainer
I am a User-Centered & UX design consultant and facilitator from London. My job is to help companies to create products with a great user experience. With more than 15 years of experience in the creative industry, I had the opportunity to work with a wide range of clients including Sony, Sky, Virgin and Barclays, News UK just to name a few. Customer satisfaction and a desire to create quality products that people want, has been of interest to me, even before I started my masters degree in product design at the University of the Arts in Berlin.
Course programme
Introducing Swift
- Origins of Swift
- Why abandon Objective C and C
- Grammatical/lexical base for the language
- Links to other languages
- Relationship to iOS APIs and OSX APIs
- Playgrounds and Xcode
- Swift and Objective C working together
Basic Constructs of Swift Code
- Basic datatypes, operators and logic
- Variables and constants
- Type annotation, type safety and types inference
- Type conversion and casting
- New Swift strings
- Processing, concatenating and analysing strings
- New datatypes for arrays and dictionaries
- Relationships to Foundation and NSString/NSArray/NSDictionary
- Printing to the Log
More Advanced Data Patterns
- Type aliases
- Tupples
- Optionals – how to use and hidden dangers
- Optional bindings
- Nil, how it compares to NULL and nil in
Objective C
- Assertions and debugging
- For loops and range operators
- Half closed range operator
Collections
- Arrays
- Literal arrays
- Modifying and accessing
- Mutable or immutable?
- Differences from NSArray
- Dictionaries
- Comparing NSDictionary
- Iterating collections
Control Flow
- For, do, while
- If, Else
- Switch/Case
- Swifts changes to traditional code
- Dealing with implicit fall through
- Range matching
- Bindings, where
- Control transfer, break, continue
- Labelled statements
Functions
- Defining and calling functions
- Function parameters and return values
- Default parameters, parameter names
- External and shorthand parameter names
- Variadic parameters
- Constant and variable parameters
- In/out parameters
- Function types
- Nested functions
- Scope and closures
- Closure expressions
- Trailing closures and shorthand
- Capturing scope
- Closures as a reference type
Classes, Structures & Enumerators
- Difference between Objective C, C and Swift
- Structures in Swift
- Classes in Swift
- Comparing structures and classes, when to use one or the other
- Properties and methods
- Memberwise initialisers
- Structures and enumerators, a comparison
- Classes as reference types
- Identity operators
- Introspection
- Assignment and copy behaviour
- Forcing copies
- Stored properties
- Constants
- Lazy loading
- Computed properties
- Getters and setters
- Read only and computed values
- Property observers
- Global and local variables
- Type properties
- Instance methods
- Local and external parameter names for methods
- Self (this)
- Subscripts
- Inheritance
- Base classes and subclassing
- Overriding
- Super class and subclass methods
- Preventing overrides
- Initialisations
- Delegation
- Initialiser delegation for value types
- Class inheritance and initialisation
- Initialiser chaining
- Safety checking and automatics
- Default properties within closures and functions
- Deinitialisation
- Automatic reference counting ARC
- Strong and weak references
- Unowned references
- Strong reference cycles for closures
Patterns
- Model view control
- Optional chaining
- Calling via optional chaining
- Extensions
- Nested types
- Protocols and delegation
- extensions and inheritance
- composition and conformance
- Generics
- Type Parameters and constraints
- Associated Types
- Where clauses
Advanced Operators
- Bitwise operators
- Precedence and associativity
- Operator functions
- Prefix and Postfix operators
- Compound assignment operators
- Equivalence operators
- Custom operators
Applying Swift to Your Projects
- Working with Foundation, UIKit and other Apple APIs
- Plans for migrating your code from Objective C to Swift
- Using Swift with Objective C
- Extending existing Objective C classes with Swift
- Building some simple swift applications
Swift Development 101 Yellow Belt - Introduction course, 3 days