从表视图控制器处理多个分段错误。

时间:2012-08-19 00:28:15

标签: ios uitableview storyboard segue

好吧,这是我在这个网站上的第一篇文章,我喜欢这个网站如此受欢迎的事实。它为新程序员提供了很好的建议。所以我最近开始学习iOS编程,而且我已经打了第一个“无法解决的路障”

我正在使用xCode 4.3.3。

我的设置/问题:

我有一个包含三个单元格的表格视图控制器:“所有视频”,“最近的视频”,“已添加书签的视频”。根据所选的单元格,加载不同的表视图控制器。很简单。

我已将表格视图控制器本身的segue连接到其他表格视图控制器,而不是原型单元格。

我已在故事板中为每个segue添加了相应的标识符。 “全部”,“最近”,“书签”。

我的代码

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *titleOfCell= [[[tableView cellForRowAtIndexPath:indexPath]textLabel]text];
NSString *identifer;
if ([titleOfCell isEqualToString:@"Search All Videos"]) {
    identifer=@"all";
}
if ([titleOfCell isEqualToString:@"Recently Viewed"]) {
    identifer=@"recent";  

}
if ([titleOfCell isEqualToString:@"Bookmarked"]) {
    identifer=@"bookmark";

}
[self performSegueWithIdentifier:identifer sender:self];
}

。 我运行代码并单击一个单元格,它给了我 NSInvalidArgumentException',原因:'Receiver()没有标识符' _ '

的segue

每个单元格!我正在撕扯我的头发。有任何想法吗??我有四倍检查错别字。

2 个答案:

答案 0 :(得分:1)

将segue连接到视图控制器不是问题,问题是你如何“阅读”titleOfcell

.section.row添加到“... cellForRowAtIndexPath:indexPath ...”

答案 1 :(得分:0)

问题在于您已将segue连接到tableView而不是单元格。

对于您发布的问题,如果单元格数量是固定的,您可以直接从单元格切换到不同的视图控制器,并相应地命名segue标识符。不需要任何编码。