У меня относительно большое приложение с 40 видами и 300 классами. Приложение использует базу данных SQLite. Я разрабатываю это приложение около полугода и до сих пор все в порядке.
Процесс создания представлений и контроллеров во время выполнения выполняется фабрикой ViewController. При каждом запуске я создаю словарь с информацией обо всех viewcontrollers (сохраняя класс и имя xib в виде строки). Затем, когда я хочу отобразить представление, я использую метод NSClassFromString, чтобы получить класс контроллера, и я создаю контроллер следующим методом:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
Самое странное в том, что в случае определенных контроллеров представления (около 5 из 40) этот метод возвращает ноль (такой же просмотрщик тоже, когда я не получаю данные из базы данных, поэтому я не думаю, что это будет проблема). До сих пор все в порядке, каждый вид контроллеров создан. Я заметил, что могу решить эту проблему, удалив каждую ссылку на IBOutlet и нарисовав представление из кода. Затем метод работает снова. Я не понимаю этого ...
Я попытался создать новое представление и снова добавить все ссылки на IBOutlet, но это не работает. Кто-нибудь сталкивался с этой проблемой ранее? Спасибо, Мадик