Skip to content

Latest commit

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Computer-Science-with-iOS

Data Structures

🔗 Linked List

📚 Stack

👫 Queue

📶 Heap

📁 LRU Cache
NSCache

📱 iOS Knowledge

Memory Management
ARC
Heap and stack
Memory segments
Memort leaks and debugging them
Retain cycles
Deadlocks, race conditions, readers writers problem, thread explosion, priority inversion

Reference and Value Types
Classes
Structs
Comparing classes and structs
Functions
Initializers

GCD
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 Barrier

Pagination

Access Control

Statements
Loop statements
Branch statements
Labeled statements
Control transfer statements
Defer statements
Do statements
Compiler control statements
Availability Condition

Types

UIKit
View hierarchy
Hit testing
View lifecycles
Frame vs. bounds
UITableView vs. UICollectionView
UITableView
UIScrollView

Enums

Higher Order Functions
Map
Filter
Reduce

Closures
Escaping closures
Capturing
Capture lists
Memory issues with closures
Scope

Error Handling

Data Persistence
Core data
User defaults
File Manager

Software Architectural Patterns
App architect intro
MVC
Atomic design pattern
Protocol oriented programming
Networking

App Frameworks / Libraries

Testing

SwiftUI
View Construction
Compared to UIKit
View Layout

Optionals
If let
If var
While let
While var
Doubly nested optionals
Optional chaining
Nil-coalescing operator

Communication Patterns
Delegates and protocols
Completion handlers
Singleton
Dependancy injection
Notification center

Swift Keywords
@objc
@escaping
@available
@final
@discardableResult
@propertyWrapper
Declarations
Type aliases
Stored Type Properties and Computed Properties
Instance Properties and Type Properties
Identifiers

Collection Protocols

Collection Types
Under the hood of collections
Different initializations
Different APIs / operations
Arrays

Foundation
NSKeyedArchiver and NSKeyedUnarchiver
URL Components
URL Session
Integer
Sequence
Sequence
IteratorProtocol
Stack as an iterator

Swift VS. ObjC
Enums
Generics
Switch statements


Blogs and books that I find super useful

📎 a more extensive Resource List

Contact

About

A collection of computer science knowledge, data structures, algorithms, in iOS - Swift.

Resources

Stars

115 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages