У меня возникли проблемы при работе с UISwitch на статическом UITableView
. Мне нужно восстановить последнее состояние определенного UISwitch
при загрузке приложения, но всякий раз, когда я проверяю состояние IBOutlet
, оно равно нулю. Я попытался вручную выделить переменную, что тоже не помогло.
Вот что я делаю:
НастройкиКонтроллер.h
//IBOutlet connected correctly
@property (strong, nonatomic) IBOutlet UISwitch *switch_displayDetail;
НастройкиController.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?
[EDIT] Использование синтезированной переменной также не работает.
[РЕДАКТИРОВАТЬ 2] Обнаружил, что проблема заключается в ошибке в Xcode или в симуляторе iPhone. После тестирования на моем iPod touch первоначальный алгоритм работал отлично.
Я схожу с ума от этой проблемы...
initWithNibName
, а не толькоinit
в SettingsController - person Sathya   schedule 04.02.2013