我正在使用此代码使tableview单元格转到新视图:
[self performSegueWithIdentifier:@"hello" sender:self];
但每当我构建并运行它,并单击该单元格时,它会将我带到一个完全不同/不相关的视图。 有什么想法吗?
答案 0 :(得分:0)
在故事板中检查segue的标识符。
此外,如果你有多个segue,请检查你是否有正确的segue连接到正确的按钮和正确的视图。
答案 1 :(得分:0)
尝试在TableViewController中使用以下代码
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"yourSegueIdentifierName"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
[[segue destinationViewController] setDetailItem:object];
}
}
这将侦听segue,检查segue的标识符和您选择的行。然后它会使用您选定行的对象执行您的segue。 如果您需要,它还允许您在一个视图中轻松拥有多个segue,您只需为不同的segue标识符添加“if”函数。
如果你在TableViewController中只使用一个segue,你实际上并不真正需要标识符,但最好还是使用它,以防万一你想在稍后阶段为你的代码添加一些其他的segue