スタティックUITableView
でUISwitchを使用しているときに問題が発生しています。 アプリケーションがロードされるときに特定のUISwitch
の最後の状態を復元する必要がありますが、IBOutlet
の状態を確認するたびにnilになります。変数を手動で割り当てようとしましたが、どちらも助けにはなりませんでした。iOS 6.1では、UISwitch IBOutletは常にゼロです。
SettingsController.h
//IBOutlet connected correctly
@property (strong, nonatomic) IBOutlet UISwitch *switch_displayDetail;
SettingsController.m他のどこでも、私は_switch_displayDetail
の状態を確認するとき、それがnilである
- (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];
}
を:ここで
は私がやっているものです。私はすべてのスーパー初期化メソッドを呼び出しています。 iOS 6.1で何か変更されましたか?
[編集]合成された変数を使用しても機能しません。
[編集2] XcodeまたはiPhone Simulatorのバグに問題が見つかりました。私のiPod touchでテストしたところ、最初のアルゴリズムは完全に機能しました。私はこの問題とナッツつもりです
...
SettingsControllerで 'init'だけでなく' initWithNibName'を実行しているかどうか確認してください。 – Sathya
また、nib名のスペルが間違っていないか確認してください。 – Fogmeister
_switch_displayDetailの代わりにself.switch_displayDetailを試してください –