自动初始化对象变量

时间:2011-03-05 23:45:35

标签: iphone objective-c ios

在iOS上的Objective C中,对象引用类型(idNSObject *等的实例变量是否在对象分配时自动初始化为nil?

4 个答案:

答案 0 :(得分:4)

是的,请参阅Apple网站上的The Objective C Programming Language文档。

  

alloc和allocWithZone:方法初始化一个新分配的对象的isa实例变量,以便它指向对象的类(类对象)。所有其他实例变量都设置为0.通常,在安全使用之前,需要对对象进行更具体的初始化。

答案 1 :(得分:2)

ivars,但局部变量不是。见this question

答案 2 :(得分:1)

Apple的NSObject类参考文档说:

“新实例的isa实例变量初始化为描述该类的数据结构;所有其他实例变量的内存设置为0。”

0与指针的nil相同。

答案 3 :(得分:-1)

这是其他人正在谈论的文章的链接。

http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf

这是第47页。

相关问题