深入理解对象初始化:原理、方法与实践
1. 对象创建方式概述
在编程中,创建新对象通常有两种方式:
- [SomeClass new]
- [[SomeClass alloc] init]
这两种方式在功能上是等效的,但在Cocoa编程中,更常用的是 alloc 和 init ,而不是 new 。对于初学者来说, new 可能是一个过渡方式,当掌握了足够的知识后,就应该使用 alloc 和 init 。
2. 对象分配
对象分配是新对象诞生的过程。在这个过程中,会从操作系统获取一块内存,并将其指定为存储对象实例变量的位置。向类发送 alloc 消息会使该类分配一块足够大的内存来容纳其所有实例变量,并且会将这块内存初始化为0。这样可以避免未初始化内存导致的各种随机错误。例如,所有的 BOOL 类型初始值为 NO , int 类型为0, float 类型为0.0,指针为 nil 。
需要注意的是,新分配的对象不能立即使用,必须先进行初始化。与C++和Java等语言不同,Objective - C将对象分配和初始化分为两个明确的阶段。初学者常见的错误是只使用 alloc 操作,如:
超级会员免费看
订阅专栏 解锁全文
85万+

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



