如何从表视图导航到XIB文件

时间:2019-05-28 03:59:15

标签: ios objective-c

我已经加载了tableView形式的XIB文件(xyz) 现在,我必须在单击xyz文件中存在的任何单元格时加载另一个XIB文件(abc)。我已经在didSelectRowAtIndexPath方法中编写了这段代码

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

它在main中引发SIGABRT错误。请帮忙!

2 个答案:

答案 0 :(得分:0)

就像评论中提到的那样,检查self.navigationController是否为nil。 如果您使用的是故事板,请尝试将ViewController嵌入到NavigationController中。您可以通过在故事板上选择视图控制器,然后转到“编辑器”>“嵌入”>“导航控制器”

进一步,检查xib文件的名称是否确实为“ abc”

答案 1 :(得分:0)

选择xib文件并打开文件检查器。现在,在“目标成员身份”下,选中复选标记。

并检查abc视图控制器或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];
}