This repository compiles notes made on the Swift language guide. The order in which the notes were made was dictated by the Stanford course 'Developing iOS 11 apps with Swift', and the releases reflect the reading exercises made in that course. As a result, if you are following along with the official Swift Language Guide, there will be small differences in the order topics are covered
Attempts have been made to keep the notes as brief as possible, and omit content that would be intuitive to a programmer with some experience of Object Oriented Languages. If you ever feel you need more detail, there is no better source than the official language guide itself. Each note is also linked to the appropriate section of the language guide.
- The Basics 0. Intro
- Basic Operators 0. Intro
- Strings and Characters 0. Intro
- Collection Types 0. Intro
- Control Flow 0. Intro
- Functions 0. Intro
- Classes and Structures 0. Intro
- Properties 0. Intro
- Methods 0. Intro
- Inheritance
- Initialization
0. Intro
- Setting Initial Values for Stored Properties
- Customizing Initialization
- Default Initializers
- Initializer Delegation for Value Types
- Class Inheritance and Initialization
- Class Initialization has Two Phases
- Initializer Inheritance and Overriding
- Failable Initialisers
- Required Initialisers
- Setting a Default Property Value with a Closure or Function
- Closures 0. Intro
- Enumerations 0. Intro
- Subscripts 0. Intro
- Optional Chaining 0. Intro
- Nested Types
- Extensions
- Protocols 0. Intro
- Error Handling
- Type Checking
The guide below outlines the order you should read these notes in if you are following the Stanford iOS course, and wish to complete the reading exercises in the same order.
Read all of sections 1 - 11, with the following exceptions:
- Section 1.11 - Tuples
- Section 3.6 - Unicode Representations of Strings
- Section 4.3 - Sets
- Section 4.4 - Performing Set Operations
- Part of Section 5.2. Ignore everything related to Tuples
- Part of Section 6.1 - Ignore Variadic Parameters and In-Out Parameters
- Section 6.2 - Functions with Multiple Return Values
- Section 6.3 - Function Types
- Section 8.3 - Computed Properties
- Part of Section 10 - Ignore Overriding Properties
- Section 11.5 - 11.10 - Initializers
Read all of the items in sections 1-11 that were omitted for Reading 1 (listed just above), and Sections 12-18.