我已经使用 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 链接到控制器时,我仍然无法让它触发。