【问题标题】:Objective-C class instance zeroed at alloc?Objective-C 类实例在 alloc 处归零?
【发布时间】:2010-11-22 00:05:00
【问题描述】:

当我第一次分配一个类实例时,是否有任何类型的内存归零objective-c 代表我承担?我看到很多objective-c 代码假定他们的出口默认为nil。如果我也这样做,是不是我的这种行为是基于虚假的借口?

【问题讨论】:

    标签: iphone objective-c memory initialization


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      是的,所有分配的对象都被清零。见NSObject alloc documentation。它是由语言保证的,所以这样做是完全安全的,事实上,你自己将成员设置为 0 是多余的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 2011-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-10
        • 2010-11-13
        相关资源
        最近更新 更多