我一直无法理解我一直收到的SIGABRT错误。 我有一个使用storyboard创建的iOS应用程序,在storyboard中我有一个UITableViewController。 现在,我可以将TVC的单元格选定并使其推送“segue”视图控制器,但如果我需要在某些条件下停止“segue”操作怎么办? 显然你不能,因为prepareForSegue:sender:方法不允许这样做,并且它似乎是在执行转换之前调用的唯一回调。
所以我猜想我可以进入tableView:didSelectRowAtIndexPath:并以编程方式执行segue。 虽然效果不佳,但仍…
嗯,结果证明我猜错了。 或者至少,我做错了什么。最显而易见的方法是:
所以我猜想我可以进入tableView:didSelectRowAtIndexPath:并以编程方式执行segue。 虽然效果不佳,但仍…
嗯,结果证明我猜错了。 或者至少,我做错了什么。最显而易见的方法是:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"TheOtherIdentifier" sender:self];
}
但整个应用程序崩溃并出现了SIGABRT错误,这没有提供任何有用的信息(是的,我确定是那一行导致应用程序崩溃了,我用调试器检查过 :) 此外,我正在尝试加载的VC已经正确设置了标识符,因为下面的代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"TheOtherIdentifier"];
[self.navigationController pushViewController:vc animated:YES];
}
"works"。引号表示这显然不是进行过渡的正确方式。
现在:有什么想法吗?