Как перейти от табличного представления к файлу XIB - PullRequest
0 голосов
/ 28 мая 2019

Я загрузил файл XIB (xyz), который имеет форму tableView. Теперь я должен загрузить другой файл XIB (abc), щелкнув любую ячейку, присутствующую в файле xyz.Я написал этот код в методе didSelectRowAtIndexPath

abc * vc = [[abc alloc] initWithNibName:@"abc" bundle:nil];    
[self.navigationController pushViewController:vc animated:YES];

Это вызывает ошибку SIGABRT в main.Пожалуйста, помогите !!

Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Выберите файл XIB и откройте инспектор файлов. Теперь в разделе «Целевое членство» поставьте галочку.

И проверьте, установлен ли abc view controller или navigationController на ноль

if (![[abc alloc] initWithNibName:@"abc" bundle:nil]) {
    NSLog(@"xib file with name abc not found");
} else if (!self.navigationController) {
    NSLog(@"Navigation controller is nil");
} else {
    abc * vc = [[abc alloc] initWithNibName:@"abc" bundle:nil];
    [self.navigationController pushViewController:vc animated:YES];
}
0 голосов
/ 28 мая 2019

Как упомянуто в комментарии, проверьте, имеет ли self.navigationController значение nil.Если вы используете раскадровку, попробуйте встроить ViewController в NavigationController. Вы можете сделать это, выбрав контроллер представления в раскадровке, а затем перейдите в «Редактор»> «Встроить»> «Контроллер навигации»

. Далее проверьте, есть ли в вашем файле xib файл.имя действительно "abc"

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