我似乎没有得到这个我一直得到的SIGABRT。我有这个故事板iOS应用程序,在故事板中我有一个UITableViewController。现在,我可以拿一个TVC的单元格并使其推动“segue”视图控制器,但是如果我需要在某些条件下停止“segue”动作呢?显然你不能,因为prepareForSegue:sender:方法不允许它,它似乎是转换即将执行时被调用的唯一回调。
所以我猜我可以进入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];
}
“作品”。引号表明这显然不是应该进行这种转换的方式。
现在:想法?
答案 0 :(得分:8)
试试这个: