发现一个奇怪的问题。对于iOS 10,BOOL的默认值返回TRUE

时间:2016-10-27 11:02:17

标签: ios objective-c ios10

enter image description here

它仅适用于iOS 10。 我用xcode 7.3和iOS 10设备调试了这个东西

1 个答案:

答案 0 :(得分:3)

这可能不是您想象的默认值。原因是局部变量未初始化,与实例变量不同(默认情况下,对象为nil,整数为0等)。

定义局部变量时,它包含垃圾。这意味着在使用某个值初始化它之前,不能使用局部变量。

- (void) someMethod {
    Bool b; //garbage YES or NO
    NSInteger i; //garbage like 113242151235
    NSString *s; //garbage pointer
}