参考资料: 《Objective-C编程》第3-12章、第42章
- 基本类型: short,int,long,float,double,BOOL,指针,结构
- 控制流程: if-else, 三元运算符?:, Switch
- 函数: 局部变量,帧,栈,堆,作用域,递归,局部,全局变量,静态变量
- 循环流程: while,for,break,continue,do-while
- 常量: #define,枚举,option《Objective-C编程》第25章
- 格式化输出: printf NSLog
参考资料: 《Objective-C编程》第13-22章
- 类(Class): 声明类,方法和消息,类方法与实例方法
- 消息: 错误消息,多个实参,alloc&init,向nil发送消息
- 自定义类: 存取方法,self指针,申明属性,继承Super,Description
- 属性修饰符: nonatomic, nullable, readwrite, copy, assign, strong, weak
- 常用类: NSObject,NSString,NSNumber
- 常用集合(Collection):NSArray,NSDictionary,NSSet,集合遍历,拷贝,作为参数传递
- 类拓展(Extension): 隐藏可变属性,头文件与继承
- 分类(Category): 分类划分《Effective Objective-C》第4章,《Objective-C编程》第37章
- 协议(Protocol): 匿名对象
- KVC & KVO : 《Objective-C编程》第35、36章
参考资料: 《Objective-C编程》第12、15、23章, 《Effective Objective-C》第6章
- 手动引用计数:(了解即可)
- 自动引用计数(ARC): 工作原理,AutoReleasePool
- 变量的内存管理语义:__strong, __unsafe_unretained,__weak,__autoreleasing
- 强引用循环: 可能场景: KVO, dealloc, 回调(CallBack), Collection, Property, Exception
- 弱引用: 解开强引用循环
参考资料: 《Objective-C编程》第27章
- 目标-动作对(Target-Action): 1个对象1个回调, NSTimer
- 辅助对象(Delegation): 1个对象多个回调 Delegate, DataSource
- 通知(Notifications): 多个对象多个回调
- 回调与对象所有权: 避免强引用循环
参考资料: 《Objective-C编程》第8章, 《Effective Objective-C》第5章37-40条
- Block定义、使用、传递: Syntax
- Block内存管理: 保留环, __block
- Block的实现(可选):《Objective-C高级编程》第2章
官方文档:
《Objective-C高级编程》第3章,《Effective Objective-C》第6章40-46条
- Dispatch Queue:串行队列,并行队列
- Main Dispatch Queue / Global Dispatch Queue: 执行优先级
- dispatch_after:指定时间后追加到队列
- dispatch Group:多任务结束后追加到队列, dispatch_group_notify, dispatch_group_wait
- dispatch _sync:同步调动, 死锁
- dispatch_once:单例
点击下载
Apple 官方: Programming With Objective-C
Apple 官方: Concurrency Programming Guide