objective-c - Objective-C 是否保证接口(interface)成员数据的初始化?

标签 objective-c

在这样的界面中:

@interface MyClass : NSObject
{
    bool PlainOldBool;
}

@end

...PlainOldBool 是否自动初始化为 false,或者是否有必要使用 init 方法显式地执行此操作?

最佳答案

是的(unless your false is not 0)。默认的 +alloc/+allocWithZone: 方法将自动清零所有 ivar。

来自 https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW17

  • It initializes all other instance variables to zero (or to the equivalent type for zero, such as nil, NULL, and 0.0).

关于objective-c - Objective-C 是否保证接口(interface)成员数据的初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533209/

相关文章:

iphone - 更改用户代理

ios - 某些文件的 AVAssetExport 失败

objective-c - 返回某个对象的属性?

objective-c - 在 Interface Builder 中向 NSPopUpButton 添加选项

objective-c - Cocoa Webview - 伪装 webview 作为原生控件

ios - 隐藏从API发送的重置密码电子邮件上的Parse.com URL

objective-c - 从命令行调试 iOS 应用程序构建

ios - 无法在 Xcode 调试器中按名称解析枚举值

objective-c - 在 Objective-C 中测试 nil -- if(x != nil) vs if(x)

objective-c - 在 Objective-C 中有没有办法获取方法调用的方法列表?