在iOS上的Objective C中,对象引用类型(id
,NSObject *
等的实例变量是否在对象分配时自动初始化为nil?
答案 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页。