看起來很簡單,但我不知道爲什麼它不起作用。無法爲BOOL分配值
在我的.h文件我已經聲明:BOOL keyboardIsUp;
然後在我的.m文件:
-(void)keyboardWillShow {
NSLog(@"before:");
NSLog(keyboardIsUp? @"Yes" : @"No");
NSLog(@"keyboardWillShow");
keyboardIsUp = YES;
NSLog(@"after:");
NSLog(keyboardIsUp? @"Yes" : @"No");
...
}
-(void)keyboardWillHide {
NSLog(@"before:");
NSLog(keyboardIsUp? @"Yes" : @"No");
NSLog(@"keyboardWillHide");
keyboardIsUp = NO;
NSLog(@"after:");
NSLog(keyboardIsUp? @"Yes" : @"No");
...
}
-(BOOL)keyboardStatus{
NSLog(@"keyboardStatus");
NSLog(keyboardIsUp? @"Yes" : @"No");
return keyboardIsUp;
}
的方法是絕對正確調用(我可以從NSLog的消息看到這一點)並在前兩種方法中使用我的NSLog
消息,我可以看到BOOL設置正確(在函數的範圍內)。
但是當我打電話keyboardStatus
,它總是日誌 「NO」
任何想法?我已經搜索了我的其他代碼,我絕對不會在其他地方更改keyboardIsUp
的值。
十六進制值確實在'keyboardWillHide/Show'和'keyboardStatus'之間改變。所以我想我不是在談論我的對象的同一個實例。謝謝。 – BloonsTowerDefence 2012-08-15 17:16:28
我敢打賭,你有一個從XIB文件加載的實例,你在代碼中分配/初始化第二個實例。消除手動分配的實例。 – bbum 2012-08-15 17:45:05