我正在使用此代码使 tableview 单元格转到新视图:
[self performSegueWithIdentifier:@"hello" sender:self];
但是每当我构建并运行它并单击单元格时,它都会将我带到一个完全不同/不相关的视图。有任何想法吗?
我正在使用此代码使 tableview 单元格转到新视图:
[self performSegueWithIdentifier:@"hello" sender:self];
但是每当我构建并运行它并单击单元格时,它都会将我带到一个完全不同/不相关的视图。有任何想法吗?
在您的 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 标识符添加“if”函数。
如果您在 TableViewController 中仅使用 ONE segue,则实际上并不需要标识符,但无论如何最好使用它,以防万一您想在以后的代码中添加一些其他 segue。
在情节提要中检查您的 segue 的标识符。
此外,如果您有多个 segue,请检查您是否将正确的 segue 连接到正确的按钮和正确的视图。