This repo contains a collection of Swift knowledge
-
Dictionary
dictionaries under the hood
hash tables, hash functions
linear probing and open addressing in creating hash tables -
DispatchFramework
CPU's then and now
synchronous and asynchronnous tasks
main, serial, concurrent, global, and custom queues
quality of services class
priority inversions
networking using URLSession
URLSession configurations
URLSessionTask: URLSessionDataTask
threads
semaphores
operations -
Initializers
stored properties
ways to create initializers: cutomizing initializers, initializer parameters without argument labels, and default initializers
convenience inits and designated inits -
MemoryManagement
automatic reference counting
strong, weak, and unknowned values
memory leak, debugging them, how they are bad
retain cycles
heaps and stacks with storing value and ref types -
Ref-ValTypes
reference types
value types
data structures that fall into each category
mutability in reference and value types -
AppArchitecture
Model Layers
View Layers
Loops of an application
A view state
Creating extensions, child objects, extracting object to reduce code in a view controller
RxSwift and RxCocoa Networking -
Intro
Swift style guide
Value and reference types
Identity
Functions -
CollectionProtocols
Sequence protocol
Subsequence
Iterator protocol
Value semantics/Reference semantics
Collection protocol
ExpressibleByArrayLiteral protocol -
Optionals
Optional enum
Unwrapping optionals -
Passing Data
Delegation pattern
Notification center
KVO
Closures
Instantiation / prepareForSegue -
CoreBluetooth
BLE devices
Centrals
Peripherals
Services
Characteristics -
Swift Keywords
Import declarations
Constant, variable declarations
Stored variables, stored variable observers
Computed variables
Stored type properties
Computed type properties
Instance properties
Type Properties
Type alias declaration