我在靜態UITableView
上使用UISwitch時遇到了一些麻煩。 當應用程序加載時,我必須恢復某個UISwitch
的最後一個狀態,但每當我檢查IBOutlet
的狀態時,它都是零。我試圖手動分配變量,這也沒有幫助。在iOS 6.1上,UISwitch IBOutlet始終爲零
下面是我在做什麼:
SettingsController.h
//IBOutlet connected correctly
@property (strong, nonatomic) IBOutlet UISwitch *switch_displayDetail;
SettingsController.m
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (!_switch_displayDetail) {
NSLog(@"_switch_displayDetail is NIL"); //This is always displayed
}
//Switch is default to YES, I am trying to set it to NO
//This line does nothing...
[_switch_displayDetail setOn:[dataManager shouldDisplayDetail] animated:YES];
}
在其他地方當我檢查的_switch_displayDetail
狀態是零。我打電話給所有的超級初始化方法。 iOS 6.1有什麼變化嗎?
[編輯]使用合成變量也不起作用。
[編輯2]發現問題是在Xcode或iPhone模擬器上的錯誤。在我的iPod touch上進行測試後,初始算法運行良好。
我要瘋了這個問題...
檢查你是否在SettingsController上執行'initWithNibName'而不僅僅是'init' – Sathya
同時檢查你是否正確地拼寫了筆尖名稱。 – Fogmeister
嘗試self.switch_displayDetail而不是_switch_displayDetail –