Objective-C类实例在alloc处归零?

fbr*_*eto 4 memory iphone initialization objective-c

当我第一次分配一个类实例时,是否有任何类型的内存清零目标-c代表我进行?我看到很多客观的代码,假设他们的出口是nil默认的.如果我这样做,我会以虚假的借口为基础进行这种行为吗?

Jon*_*etz 8

是的,所有分配的对象都归零.请参阅NSObject alloc文档.这是由语言保证所以这样做是完全安全的,事实上将成员设置为0将是多余的.


rpe*_*ich 8

NSAllocateObject返回一个足够大的内存块,以包含类中的所有ivars; 它的isa指针设置为类,块的其余部分用0 +[NSObject alloc]调用+[NSObject allocWithZone:],然后在NSAllocateObject内部调用.