马上开始. 它是免费的哦
注册 使用您的电邮地址
iOS study 作者: Mind Map: iOS study

1. Programming paradigms

1.1. Object Oriented Programming ( OOP )

1.2. Protocol Oriented Programming ( POP )

1.3. Functional programming

1.3.1. Фреймворки для функционального реактивного программирования

1.3.1.1. RxSwift

1.3.1.2. RxCocoa

1.3.1.3. RxDataSources

1.3.1.4. RxOptional

1.3.1.5. React Native

2. Testing

2.1. Unit testing

2.2. UI testing

2.3. Snapshot tests

2.4. Functional tests

2.5. TDD

2.6. BDD

3. Perform optimization

3.1. Increasing FPS

3.2. Decreasing of memory hunger

4. Tools

4.1. IDE

4.1.1. Xcode

4.1.1.1. Interface Builder

4.1.1.2. Debugger

4.1.1.3. Instruments

4.1.2. AppCode

4.2. Fastlane

4.3. Swiftlint

4.4. Sourcery

5. Continuous Integration

5.1. JenkinS

5.2. Xcode Cloud

5.3. Github Actions

5.4. Circle CI

6. Basic Computer Science

6.1. Algorithms

6.1.1. Big-O notation

6.1.2. Recursion

6.1.3. Bit manipulation

6.1.4. Dynamic Programming

6.1.5. Sorting

6.1.6. Graph theory

6.1.6.1. Trees

6.1.7. Game theory

6.2. Data Structures

6.2.1. List

6.2.1.1. Doubly linked list

6.2.1.2. Linked list

6.2.2. Queues

6.2.2.1. Double ended queue

6.2.2.2. Cicrular queue

6.2.2.3. Queue

6.2.3. Graphs

6.2.4. Множества (Set)

6.2.5. Multiset

6.2.6. Map

6.2.7. Array

6.2.8. Stack

7. Languages

7.1. Swift

7.1.1. Data types ( Int, String, Double, Bool, Float )

7.1.2. Functions

7.1.3. Closures

7.1.4. Classes and Structures

7.1.5. Init and Deinit

7.1.6. Protocols and Extensions

7.1.7. Error handling

7.1.8. Enum

7.1.9. Generics

7.2. Objective-C

7.2.1. Blocks

7.2.1.1. Memory handling

7.2.2. Key-Value coding (KVC)

7.2.3. Key-Value Observing (KVO)

7.2.4. Runtime

7.2.4.1. Method Messaging

7.2.4.2. NSZombies

7.2.4.3. Swizzling

8. Beginning

8.1. Pick the project you have always wanted to build!

9. IOS SDK

9.1. CocoaTouch

9.1.1. User Interface

9.1.1.1. Principles of making user interfaces

9.1.1.1.1. Human Interface Guidlines

9.1.1.2. Lists

9.1.1.2.1. UITableViewController

9.1.1.2.2. UICollectionView

9.1.1.2.3. ScrollView & StackView

9.1.1.3. UI elements

9.1.1.3.1. UIView

9.1.1.3.2. UILabel

9.1.1.3.3. UIButton

9.1.1.3.4. UIViewController

9.1.1.4. Layout

9.1.1.4.1. Autolayout

9.1.1.4.2. StackView

9.1.1.4.3. Interface Builder

9.1.1.4.4. Storyboards

9.1.1.5. Animation

9.1.1.5.1. Core Animation

9.1.1.5.2. UIView.animate

9.1.1.5.3. Transitions

9.1.1.6. Layers

9.1.1.6.1. CornerRadius

9.1.1.6.2. Shadow

9.1.1.7. Navigation

9.1.1.7.1. UINavigationController

9.1.1.7.2. UITabBarController

9.1.1.7.3. Router

9.1.1.7.4. Coordinator

9.1.1.8. UIApplication

9.1.1.8.1. Lifecycle

9.1.1.8.2. AppDelegate

9.1.2. Foundation

9.1.2.1. Collections

9.1.2.2. Networking

9.1.2.2.1. Codable

9.1.2.2.2. JSON

9.1.2.2.3. XML

9.1.2.2.4. Protobuf

9.1.3. Notification

9.1.4. Core Location

9.2. Multithreading and queues

9.2.1. GCD

9.2.2. Operations

9.2.3. RunLoop

9.2.4. POSIX, NSThread

9.2.5. Synchronization

9.2.6. Troubles

9.2.6.1. Race Conditions

9.2.6.2. Deadlock

9.2.6.3. Problem of reading and writing

9.3. Industrial development

9.3.1. Layout

9.3.1.1. SnapKit

9.3.1.2. Then

9.3.2. Package managers

9.3.2.1. CocoaPods

9.3.2.2. Carthage

9.3.2.3. SPM (Swift Package Manager)

9.3.3. Project structure

9.3.4. Memory

9.3.4.1. Stack and heap

9.3.4.2. Value vs Reference type

9.3.4.3. ARC

9.3.4.3.1. Weak reference

9.3.4.3.2. Strong

9.3.4.3.3. Unowned

9.3.4.4. MRC

9.3.4.5. Retain Cycles

9.3.4.6. Garbage collections

9.3.4.7. Memory leaks

9.3.4.8. Shallow and deep copying

9.3.4.9. Autorelease pool

10. Debugging

10.1. Instruments

10.2. Best practices

10.2.1. Checklist

11. UX

11.1. Human Interface Guidlines

11.2. User Experience

12. Version Control

12.1. Git

12.1.1. Comit & Branching

12.1.2. Merge & Rebase

12.2. Git Flow

13. Storing and using data

13.1. CoreData

13.2. Realm

14. Architecture knowledge

14.1. Design patterns

14.1.1. Architecture patterns

14.1.1.1. MVC

14.1.1.2. MVP

14.1.1.3. MVVM

14.1.1.4. Clean architecture

14.1.1.4.1. VIPER

14.1.1.4.2. RIBs

14.1.1.5. Coordinators

14.1.2. Creational patterns

14.1.2.1. Abstract fabric

14.1.2.1.1. Class cluster

14.1.2.2. Fabric

14.1.2.3. Builder

14.1.2.4. Prototype

14.1.2.5. Singelton

14.1.3. Structural patterns

14.1.3.1. Adapter

14.1.3.2. Bridge

14.1.3.3. Composite

14.1.3.4. Decorator

14.1.3.4.1. Delegation

14.1.3.4.2. Categories

14.1.3.5. Facade

14.1.3.6. Flyweight

14.1.3.7. Proxy

14.2. Principles

14.2.1. Behavioral patterns

14.2.1.1. Responsobility chain

14.2.1.2. Command

14.2.1.3. Iterator

14.2.1.4. Mediator

14.2.1.5. Memento

14.2.1.6. Observer

14.2.1.7. State

14.2.1.8. Strategy

14.2.1.9. Template method

14.2.1.10. Visitor

14.2.2. Anti patterns

14.2.3. SOLID

14.2.4. Dependency Injection

15. Safety

15.1. Keychain

15.2. Security Transform API