【发布时间】:2010-11-22 00:05:00
【问题描述】:
当我第一次分配一个类实例时,是否有任何类型的内存归零objective-c 代表我承担?我看到很多objective-c 代码假定他们的出口默认为nil。如果我也这样做,是不是我的这种行为是基于虚假的借口?
【问题讨论】:
标签: iphone objective-c memory initialization
当我第一次分配一个类实例时,是否有任何类型的内存归零objective-c 代表我承担?我看到很多objective-c 代码假定他们的出口默认为nil。如果我也这样做,是不是我的这种行为是基于虚假的借口?
【问题讨论】:
标签: iphone objective-c memory initialization
NSAllocateObject 返回一个足够大的内存块以包含类中的所有 ivars;它的isa 指针设置为类,块的其余部分用0 填充。+[NSObject alloc] 调用+[NSObject allocWithZone:],然后在内部调用NSAllocateObject。
【讨论】:
是的,所有分配的对象都被清零。见NSObject alloc documentation。它是由语言保证的,所以这样做是完全安全的,事实上,你自己将成员设置为 0 是多余的。
【讨论】: