目的:总结基础知识点,然后重点加强一下不熟悉的部分
检查:手动写点代码,达到熟悉的目的
知识点汇总和巩固
数据类型:
NSString/NSMutableString/NSArray/NSMutableArray/NSDictionary/NSMutableDictionary
NSValue/NSNumber/NSEnumerator
NSRect/NSSize
面向对象:
从面向对象语言的角度去理解OC,相关的概念有:封装、继承,没有多态。
创建对象 @interface @implement @property @synthesize
属性:属性介绍
类别(非正式协议):@interface 已有类名 (协议名)
协议:@protocol
初始化:[[MyClass alloc] init]
内存管理:
RC(reference-count或retain-count)引用计数是OC管理对象的唯一依据;release消息会让RC减少1;当RC减小到0时就会自动调用对象的dealloc方法来收回内存空间。问题是怎么判断什么操作会引起RC值的变化?
alloc/init/new 增加RC的值
retain RC+1
release/autorelease RC-1
@autorelease{} 代码块内变量自动释放
NSAutoReleasePool 使用NSAutoReleasePool来主动释放(需要向对象发送autorelease消息)
代码块:包含两种类型的绑定,自动绑定(auto binding)使用的是栈内存,托管绑定(managed binding)通过堆创建。传送门
网友评论