0

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

我正在使用 xCode 4.3.3。

我的设置/问题:

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

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

我已经为故事板中的每个 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 () has no segue with identifier ' _ '

对于每一个细胞!我在扯头发。有任何想法吗??我已经检查了四倍的错别字。

4

2 回答 2

1

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

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

于 2012-12-19T00:08:36.743 回答
0

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

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

于 2012-08-19T03:19:41.503 回答