我使用 NSFetchedResultsController 构建了一个 UITableView,并显示了一些原型 UITableViewCell。我已经从我的 UITableViewCell 连接到了 DetailViewController 的 push segue。
在我的 TableViewController 中,我实现了以下两个方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
当我运行应用程序并在tableView中点击一行时,我的应用程序只调用:
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
[TableViewController tableView:didSelectRowAtIndexPath:]
如果我删除segue并从UIBarButtonItem将其重新连接到DetailViewController,那么segue会正确调用,有人能想到我错过了什么吗?
编辑:
添加:
- (IBAction)tester:(id)sender {
[self performSegueWithIdentifier:@"SEGTEST" sender:nil];
}
我将其连接到名为“tester”的UIButtonBarItem上,它可以工作,但当我从UITableViewCell链接到控制器时,仍然无法触发它。