Я экспериментирую с тем, как загружать файлы nib в UIViewController
.Загрузка файла nib внутри UIViewController
Я создал отдельный файл с пивом под названием Email. Сначала я заметил, что когда контроллер просмотра загружен, метод initWithNibName
не вызывается. Так что я назвал его из viewDidLoad
метода вручную, как это,
[self initWithNibName:@"Email" bundle:[NSBundle mainBundle]];
Это не сработало. Также я получил предупреждение: Результат выражения не использовался.
И я искал в интернете и наткнулся на this статьи и реализован метод loadView
, как описано, как это так,
- (void)loadView
{
[super loadView];
UINib *nib = [UINib nibWithNibName:@"Email" bundle:nil];
[nib instantiateWithOwner:self options:nil];
}
метод вызывается, но до сих пор контроллер представления пуст!
Может кто-нибудь сказать мне, что я здесь не замечаю и как это можно сделать?
Спасибо.
UPDATE:
Во-первых, спасибо за все ответы. Однако voromax и Ответы svena говорят, что я должен удалить segues и загружать nibs автоматически, что я не очень люблю. Ответ Аниль находит, и теперь у меня есть последнее препятствие, чтобы прыгать.
У меня есть несколько файлов nib. В зависимости от выбора пользователя, он должен загружать определенный наконечник. Так что я попытался было, поставить все крупку внутри массива, как это так,
- (void)loadView
{
[super loadView];
NSArray *nibs = [[NSArray alloc] initWithObjects:
[[NSBundle mainBundle] loadNibNamed:@"Facsimile" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"Email" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"Memorandum" owner:self options:nil],
[[NSBundle mainBundle] loadNibNamed:@"ProjectMemo" owner:self options:nil], nil];
self.view = [nibs objectAtIndex:0];
}
и доступ к нему, используя его индекс, как этот self.view = [nibs objectAtIndex:1];
. Но это вызывает ошибку * Завершение приложения из-за неотображенного исключения «NSInvalidArgumentException», причина: '- [__ NSArrayM _setViewDelegate:]: непризнанный селектор, отправленный в экземпляр 0xd56fd20' *
Почему эта ошибка возникает? Если это невозможно, я открыт для предложений.
Еще раз спасибо. И извините, что немного перетащил это.
Вы до сих пор не говоря уже о раскадровке и пользовательской логику в вашем вопросе, не каждый будет читать все комментарии ... Смотрите обновленный ответ – voromax