Basic principles of iOS

The first step is to learn the main line

  • The first step is to learn the main line

The underlying source code exploration way

  • Three ways to explore source code

Object underlying: structure +alloc analysis

  • Alloc & init & new source code analysis
  • NSObject alloc source analysis
  • Principles of Memory Alignment
  • Malloc source code analysis

Object nature: ISA + ISA attribute analysis + class structure

  • How isa relates to classes
  • Class & class structure analysis
  • Analysis of classic isa interview questions
  • Strong&copy &weak low-level analysis and method signatures and attribute abbreviations

The principle analysis of cache storage method

  • Analysis of cache principle in objc_class

The essence of the method: message sending, or message flow analysis

  • Quick lookup for message flow analysis
  • Slow lookup for message flow analysis
  • Dynamic method resolution for message flow analysis & message forwarding
  • Self test (1)

Class loading

  • Dyld loading process
  • The history of dyld
  • The association between DYLD and OBJC
  • Class loading (part 1)
  • Class loading (2)
  • Exploring the basic principle of class extension and associated object
  • OC basic interview analysis
  • Method-swizzling Method swap

KVC, KVO

  • KVC underlying principles
  • KVO underlying principles

multithreading

  • Memory five areas
  • Principle of multithreading
  • GCD functions and queues
  • GCD NSThread & GCD & NSOperation
  • Analysis of the underlying principle of GCD
  • The principle of the lock
  • Underlying principle of Block

Start the optimization

  • LLVM compilation process & Clang plug-in development
  • Startup optimization (I) Basic concepts
  • Start optimization (2) Optimization suggestions
  • Start optimization (three) binary rearrangement

Memory management

  • TaggedPointer/retain/release/dealloc/retainCount layer analysis
  • Strong reference analysis
  • AutoReleasePool & NSRunLoop low-level analysis

App optimization

  • Interface optimization scheme
  • Componentization (1) Scheme
  • Componentization (2) Communication mode between components
  • Memory optimization (a) wild pointer detection