The Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified
Book created for educational purposes and is not affiliated with group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners
https://goalkicker.com/
Content
1-1Content list
1-2About
1-3Chapter 1: Getting started with Swift Language
1-4Section 1.1: Your first Swift program
1-5Section 1.2: Your first program in Swift on a Mac (using a Playground)
1-6Section 1.3: Your first program in Swift Playgrounds app on iPad
1-7Section 1.4: Installing Swift
1-8Section 1.5: Optional Value and Optional enum
1-9Chapter 2: Variables & Properties
1-10Section 2.1: Creating a Variable
1-11Section 2.2: Property Observers
1-12Section 2.3: Lazy Stored Properties
1-13Section 2.4: Property Basics
1-14Section 2.5: Computed Properties
1-15Section 2.6: Local and Global Variables
1-16Section 2.7: Type Properties
1-17Chapter 3: Numbers
1-18Section 3.1: Number types and literals
1-19Section 3.2: Convert numbers to/from strings
1-20Section 3.3: Rounding
1-21Section 3.4: Random number generation
1-22Section 3.5: Convert one numeric type to another
1-23Section 3.6: Exponentiation
1-24Chapter 4: Strings and Characters
1-25Section 4.1: String & Character Literals
1-26Section 4.2: Concatenate strings
1-27Section 4.3: String Encoding and Decomposition
1-28Section 4.4: Examine and compare strings
1-29Section 4.5: Reversing Strings
1-30Section 4.6: Check if String contains Characters from a Defined Set
1-31Section 4.7: String Iteration
1-32Section 4.8: Splitting a String into an Array
1-33Section 4.9: Unicode
1-34Section 4.10: Converting Swift string to a number type
1-35Section 4.11: Convert String to and from Data / NSData
1-36Section 4.12: Formatting Strings
1-37Section 4.13: Uppercase and Lowercase Strings
1-38Section 4.14: Remove characters from a string not defined in Set
1-39Section 4.15: Count occurrences of a Character into a String
1-40Section 4.16: Remove leading and trailing WhiteSpace and NewLine
1-41Chapter 5: Booleans
1-42Section 5.1: What is Bool?
1-43Section 5.2: Booleans and Inline Conditionals
1-44Section 5.3: Boolean Logical Operators
1-45Section 5.4: Negate a Bool with the prefix ! operator
1-46Chapter 6: Arrays
1-47Section 6.1: Basics of Arrays
1-48Section 6.2: Extracting values of a given type from an Array with flatMap(_:)
1-49Section 6.3: Combining an Array's elements with reduce(_:combine:)
1-50Section 6.4: Flattening the result of an Array transformation with flatMap(_:)
1-51Section 6.5: Lazily flattening a multidimensional Array with flatten()
1-52Section 6.6: Filtering out nil from an Array transformation with flatMap(_:)
1-53Section 6.7: Subscripting an Array with a Range
1-54Section 6.8: Removing element from an array without knowing it's index
1-55Section 6.9: Sorting an Array of Strings
1-56Section 6.10: Accessing indices safely
1-57Section 6.11: Filtering an Array
1-58Section 6.12: Transforming the elements of an Array with map(_:)
1-59Section 6.13: Useful Methods
1-60Section 6.14: Sorting an Array
1-61Section 6.15: Finding the minimum or maximum element of an Array
1-62Section 6.16: Modifying values in an array
1-63Section 6.17: Comparing 2 Arrays with zip
1-64Section 6.18: Grouping Array values
1-65Section 6.19: Value Semantics
1-66Section 6.20: Accessing Array Values
1-67Chapter 7: Tuples
1-68Section 7.1: What are Tuples?
1-69Section 7.2: Decomposing into individual variables
1-70Section 7.3: Tuples as the Return Value of Functions
1-71Section 7.4: Using a typealias to name your tuple type
1-72Section 7.5: Swapping values
1-73Section 7.6: Tuples as Case in Switch
1-74Chapter 8: Enums
1-75Section 8.1: Basic enumerations
1-76Section 8.2: Enums with associated values
1-77Section 8.3: Indirect payloads
1-78Section 8.4: Raw and Hash values
1-79Section 8.5: Initializers
1-80Section 8.6: Enumerations share many features with classes and structures
1-81Section 8.7: Nested Enumerations
1-82Chapter 9: Structs
1-83Section 9.1: Structs are value types
1-84Section 9.2: Accessing members of struct
1-85Section 9.3: Basics of Structs
1-86Section 9.4: Mutating a Struct
1-87Section 9.5: Structs cannot inherit
1-88Chapter 10: Sets
1-89Section 10.1: Declaring Sets
1-90Section 10.2: Performing operations on sets
1-91Section 10.3: CountedSet
1-92Section 10.4: Modifying values in a set
1-93Section 10.5: Checking whether a set contains a value
1-94Section 10.6: Adding values of my own type to a Set
1-95Chapter 11: Dictionaries
1-96Section 11.1: Declaring Dictionaries
1-97Section 11.2: Accessing Values
1-98Section 11.3: Change Value of Dictionary using Key
1-99Section 11.4: Get all keys in Dictionary
1-100Section 11.5: Modifying Dictionaries
1-101Section 11.6: Merge two dictionaries
1-102Chapter 12: Switch
1-103Section 12.1: Switch and Optionals
1-104Section 12.2: Basic Use
1-105Section 12.3: Matching a Range
1-106Section 12.4: Partial matching
1-107Section 12.5: Using the where statement in a switch
1-108Section 12.6: Matching Multiple Values
1-109Section 12.7: Switch and Enums
1-110Section 12.8: Switches and tuples
1-111Section 12.9: Satisfy one of multiple constraints using switch
1-112Section 12.10: Matching based on class - great for prepareForSegue
1-113Section 12.11: Switch fallthroughs
1-114Chapter 13: Optionals
1-115Section 13.1: Types of Optionals
1-116Section 13.2: Unwrapping an Optional
1-117Section 13.3: Nil Coalescing Operator
1-118Section 13.4: Optional Chaining
1-119Section 13.5: Overview - Why Optionals?
1-120Chapter 14: Conditionals
1-121Section 14.1: Optional binding and "where" clauses