Section 2. Warming up : 프로그래밍의 기초
- Token, Expression, Statement
- Literal, Identifier, Keyword
- Compile, Link, Run
- Sepecial Characters
- First Class Citizen
Section 3. Working with Variables : 변수 사용의 기초
- Variables and Constants
- Naming Convention
- Scope
- Data Types with Memory
- Numbers, Boolean, Strings and Characters
- Type Inference, Safety, Conversion, Alias
Section 5. Operators
- Operator Basics
- Operators: Arithmetic, Overflow, Comparison, Logical, Ternary Conditional, Bitwise, Assignment, Range, Custom
- Short-circuit Evaluation, Side Effect
- Operator Methods
Section 6. Conditional Statements
- if
- switch
- guard
- Patterns: Value Binding, Expression
Section 7. Loop Statements
- for-in Loop
- while Loop : while, repeat-while
Section 8. Control Transfer Statements, Labeled Statements
- Control Transfer Statements
- break, continue
- Labeled Statements
- Optionals
- Optional Binding
- IUO: Implicitly Unwrapped Optionals
- Nil-Coalescing Operator
- Optional Chaining
- Optional Pattern
Section 10. Functions
- Functions
- Return Values
- Parameters
- Argument Label
- Variadic Parameters: 가변 파라미터
- inout Parameter: 입출력 파라미터
- Funciton Notation, Types
- Nested Functions
Section 11. Closures
- Closures
- Syntax Optimization
- Capturing Values
- Escaping Clousre
Section 12. Tuples
- Tuples
- Named Tupes
- Tuple Decomposition, Matching
Section 13. String and Character
- Strings and Characters
- Multiline String Literals
- Raw Strings (Swift 5+)
- String Interpolation
- New String Interpolation System (Swift 5+)
- String indices, Basics
- Substring
- String Editing, Comparison, Searching, Options
- Character Set
Section 14. Collection
- Collections: Array, Dictionary, Set
- Iterating Collections
Section 15. Enumeration
- Enumeration Types
- Raw Values
- Associated Values
- Enumeration Case Pattern
Section 16. Structure and Class
- Structures and Classes
- Initializer Syntax
- Value Types vs Reference Types
- Identity Operator
- Nested Types
- Stored Property
- Computed Property
- Property Observer
- Type Property
- self & super
Section 18. Method and Subscript
- Instance Method
- Type Method
- Subscript
- Dynamic Member Lookup
Section 19. Inheritance and Polymorphism
- Inheritance
- Overriding
- Upcasting and Downcasting
- Type Casting
- Any and AnyObject
- Overloading
Section 20. Initializer and Deinitializer
- Initializers
- Class Initializers
- Required Initializer
- Initializer Delegation
- Failable initializer
- Deinitializer
Section 21. Extension
- Extension Syntax
- Adding Properties, Methods, Initializers, Subscripts
Section 22. Protocol
- Protocol Syntax
- Property, Method, Initializer, Subscript, Optional Requirements
- Protocol Types, composition, Extension
Section 23. Memory, Value Type and Reference Type
- Memory Basics
- Value Type vs Reference Type
- ARC(Automatic Reference Counting)
- Strong Reference Cycle
- Closure Capture List
Section 24. Generics
- Generic Function
- Generic Types, Associated Types
Section 25. Error Handling
- Error Handling
- do-catch Statements
- Optional try
- defer Statemenst
- Result Type (Swift 5+)
Section 26. Advanced Topics
- Availability Condition