Цель c - создание Viewcontrollers и Views во время выполнения в некоторых случаях не работает - PullRequest
0 голосов
/ 13 октября 2011

У меня относительно большое приложение с 40 видами и 300 классами. Приложение использует базу данных SQLite. Я разрабатываю это приложение около полугода и до сих пор все в порядке. Процесс создания представлений и контроллеров во время выполнения выполняется фабрикой ViewController. При каждом запуске я создаю словарь с информацией обо всех viewcontrollers (сохраняя класс и имя xib в виде строки). Затем, когда я хочу отобразить представление, я использую метод NSClassFromString, чтобы получить класс контроллера, и я создаю контроллер следующим методом:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

Самое странное в том, что в случае определенных контроллеров представления (около 5 из 40) этот метод возвращает ноль (такой же просмотрщик тоже, когда я не получаю данные из базы данных, поэтому я не думаю, что это будет проблема). До сих пор все в порядке, каждый вид контроллеров создан. Я заметил, что могу решить эту проблему, удалив каждую ссылку на IBOutlet и нарисовав представление из кода. Затем метод работает снова. Я не понимаю этого ... Я попытался создать новое представление и снова добавить все ссылки на IBOutlet, но это не работает. Кто-нибудь сталкивался с этой проблемой ранее? Спасибо, Мадик

1 Ответ

0 голосов
/ 13 октября 2011

Может быть, класс с таким именем в данный момент не загружен?

NSClassFromString возвращает nil

См. Также комментарий о запрете загрузки классов синглтона?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...