当我第一次分配一个类实例时,是否有任何类型的内存清零目标-c代表我承担?我看到很多Objective-c代码,默认情况下它们的出口是nil
。如果我这样做,我会以假借口为基础进行这种行为吗?
答案 0 :(得分:8)
是的,所有分配的对象都归零。见NSObject alloc documentation。这是由语言保证所以这样做是完全安全的,事实上将成员设置为0将是多余的。
答案 1 :(得分:8)
NSAllocateObject
返回一个足够大的内存块,以包含该类中的所有ivars;其isa
指针设置为该类,其余部分填充0. +[NSObject alloc]
个调用+[NSObject allocWithZone:]
,然后在内部调用NSAllocateObject
。