来自TableView的segue

时间:2012-08-09 06:04:47

标签: objective-c ios5

我正在学习目标c,我正在尝试从表视图创建一个segue到另一个视图。并且代码在prepareForSegue函数中崩溃。

继承人的代码

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if( [segue.identifier isEqualToString:@"rowSelected"]){
    UIViewController *nextViewController = segue.destinationViewController;
    nextViewController.title = @"newView";
    }
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"rowSelected" sender:self];
}

我对segue的准备理解是我在那里初始化下一个视图(?)。但我看过的大多数教程只在prepareForSegue中设置了一些配置。

有什么明显我做错了吗?或者也许有人可以链接tableview + segue指南,这样我就可以跟进并找到我自己做错了什么。

发出错误消息,至少是我发现实际包含信息的部分

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[notesViewController length]: unrecognized selector sent to class 0x469c'

1 个答案:

答案 0 :(得分:0)

Hello Pita尝试此代码

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if( [segue.identifier isEqualToString:@"rowSelected"]){
    UIViewController *nextViewController = segue.destinationViewController;
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
nextViewController.title = [YourSomethingArray objectAtIndex: indexPath.row];
    }

yourSomethingArray 在您的代码中找到上述内容

cell.textLabel.text = yourSomethingArray[indexPath.row];