📚 Stack
👫 Queue
📶 Heap
📁 LRU Cache
NSCache
Memory Management
ARC
Heap and stack
Memory segments
Memort leaks and debugging them
Retain cycles
Deadlocks, race conditions, readers writers problem, thread explosion, priority inversionReference and Value Types
Classes
Structs
Comparing classes and structs
Functions
InitializersGCD
Synchronous and asynchronous execution
Differentiating synchronous and asynchronous calls/functions
Queues - serial and concurrent
QoS
Priority inversion
Threads
Combine framework
Operation and OperationQueue
GCD APIs:
Dispatch work items
Dispatch groups
Semaphores
Dispatch BarrierStatements
Loop statements
Branch statements
Labeled statements
Control transfer statements
Defer statements
Do statements
Compiler control statements
Availability ConditionUIKit
View hierarchy
Hit testing
View lifecycles
Frame vs. bounds
UITableView vs. UICollectionView
UITableView
UIScrollViewHigher Order Functions
Map
Filter
ReduceClosures
Escaping closures
Capturing
Capture lists
Memory issues with closures
ScopeData Persistence
Core data
User defaults
File ManagerSoftware Architectural Patterns
App architect intro
MVC
Atomic design pattern
Protocol oriented programming
NetworkingSwiftUI
View Construction
Compared to UIKit
View LayoutOptionals
If let
If var
While let
While var
Doubly nested optionals
Optional chaining
Nil-coalescing operatorCommunication Patterns
Delegates and protocols
Completion handlers
Singleton
Dependancy injection
Notification centerSwift Keywords
@objc
@escaping
@available
@final
@discardableResult
@propertyWrapper
Declarations
Type aliases
Stored Type Properties and Computed Properties
Instance Properties and Type Properties
IdentifiersCollection Types
Under the hood of collections
Different initializations
Different APIs / operations
ArraysFoundation
NSKeyedArchiver and NSKeyedUnarchiver
URL Components
URL Session
Integer
Sequence
Sequence
IteratorProtocol
Stack as an iteratorSwift VS. ObjC
Enums
Generics
Switch statements
Blogs and books that I find super useful
- https://developer.apple.com/documentation/swift
- https://www.swiftbysundell.com
- https://www.avanderlee.com
- https://github.com/apple/swift-evolution/tree/master/proposals
- https://medium.com/pragmatic-programmers/directory-of-pragmatic-programmer-books-on-medium-6a5cbadbd4b4
- https://www.geeksforgeeks.org
- https://www.oreilly.com/library/view/mastering-swift-53/9781800562158/
📎 a more extensive Resource List