我可能会在这里生气,但以前在使用BOOL时我会做这样的事情:
BOOL myBool
if (myBool) {
NSLog@"My Bool is YES";
}
即如果myBool相当于说myBool为YES,我会假设。
在iOS7下虽然我看到日志语句触发,即使myBool的值从未明确设置。如果设置为NO或YES,则代码按预期运行。
iOS7下有什么变化吗?
修改
只是补充一点,这个疯狂的时刻是由于我在其他地方从NSUserDefaults boolForKey方法初始化BOOL这一事实,如果找不到该键的值,它将返回NO。
答案 0 :(得分:7)
如果myBool
从未明确设置且它是局部变量,则其值为UNDEFINED。因此,它可以评估为YES或NO。
您是否收到了一些编译器警告?
答案 1 :(得分:0)
BOOL myBool未初始化为代码中的任何值,因此它可能包含任何随机值YES或NO ..
首先将myBool初始化为某个值..