这可能很容易就是我错过了一些愚蠢的东西,但是请看一下这段代码:(虽然实际的方法名称没有改变,但它已被剥离,只是调试功能)
-(BOOL)shouldHideStatusBarItem:(BOOL)showItem{
if (showItem == YES) {
NSBeep();
NSLog(showItem ? @"YES(inloop)" : @"NO(inloop)" );
}
else if (showItem == NO){
NSBeep();
NSLog(showItem ? @"YES(inloop)" : @"NO(inloop)" );
}
NSLog(showItem ? @"YES" : @"NO" );
return showItem;
}
当我通过YES时,它会记录:
YES
当我通过NO时它记录:
NO(inloop)
NO
显然,当我传入YES时,它应该记录:
YES(inloop)
YES
有人有什么想法吗?
答案 0 :(得分:1)
更改您的代码,只检查showItem
变量的真实性。 BOOL
类型实际上不限于值YES
和NO
。
if (showItem)
{
...
}
else
{
...
}
答案 1 :(得分:0)
湖泊答案的变体
-(BOOL)shouldHideStatusBarItem:(BOOL)showItem{
if (showItem) {
} else {
}
NSBeep();
NSLog(showItem ? @"YES" : @"NO" );
return showItem;
}