Objective-C 对象初始化全解析
1. 对象创建方式
在Objective-C里,创建新对象主要有两种方式:
- [SomeClass new]
- [[SomeClass alloc] init]
虽然这两种方式效果相同,但Cocoa编程的惯例是使用 alloc 和 init ,而非 new 。通常,初学者会先用 new 入门,等熟悉后再使用 alloc 和 init 。
2. 对象分配
对象分配是新对象诞生的过程。给类发送 alloc 消息时,类会从操作系统获取一块足够大的内存,用于存放对象的实例变量,并且会把这块内存初始化为0。这样就避免了未初始化内存引发的随机错误。例如,所有的 BOOL 类型初始为 NO , int 类型初始为0, float 类型初始为0.0,指针初始为 nil 。
不过,新分配的对象不能马上使用,还需要进行初始化。下面是一个常见的初学者错误示例:
Car *car = [Car alloc];
这种做法可能暂时没问题,但由于没有初始化,后续可能会出现奇怪
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



