0

我有一个包含 2 个表视图的视图。这个视图有控制器 PlayerDetailController 现在来控制 2 个表视图我有 2 个其他控制器。

  • tablePlayersDataSourceDelegate
  • tablePlayerNewsDataSourceDelegate

我 ctrl 从 PlayerDetail 视图拖到 newsView 以进行转场。在我的 tablePlayerDataSourceDelegate 中,我有以下方法来执行这个 segue。

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

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSIndexPath *indexPath = (NSIndexPath *)sender;
    PlayerNews *news = [_tableSource objectAtIndex:indexPath.row]; // ask NSFRC for the NSMO at the row in question
    if ([segue.identifier isEqualToString:@"show detail"]) {
        [segue.destinationViewController setImageURL:[NSURL URLWithString:news.image]];
        [segue.destinationViewController setNewsTitle:news.title];
        [segue.destinationViewController setNewsDescription:news.content];
        [segue.destinationViewController setNewsCopy:news.image_copyright];
        [segue.destinationViewController setNewsUrl:news.url];
        [segue.destinationViewController setNewsShortDescription:news.summary];
    }
}

但是当我测试时,我得到以下错误。

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<tblPlayerNewsDatasourceDelagete: 0x1e5e44c0>) has no segue with identifier 'showPlayerDetailNews''

我明白为什么这会给出错误。因为 playerDetail 视图使用了 playerDetailController 类,我试图在 tablePlayerNewsDelegate 类中做 te segue。你可能知道解决它的方法吗?

编辑 在这里你看到我在说什么的图片

这样就可以在playerDetailView中看到两个tableview了。单击底部表格视图中的单元格时,它应该转到下一个视图。

编辑2

这就是我在 playerDetailController 中为填充我的 tableview 所做的。我已经把它放在了我的 viewDidLoad 中。

tabelPlayerNews=[[tblPlayerNewsDatasourceDelagete alloc]init];
[tabelPlayerNews setTableSource:_newsArray];
tblNews.dataSource=tabelPlayerNews;
tblNews.delegate=tabelPlayerNews;
tabelPlayerNews.view=tabelPlayerNews.tableView;
4

1 回答 1

0

我不确定我是否理解,但总的来说......

要使用performSegueWithIdentifier:segue 的拖动,应该从将要进行调用的控制器开始,而不是从视图或其他对象开始。我认为这就是错误消息告诉您的内容:假设您的故事板中有一个名为“showPlayerDetailNews”的segue,它不属于正确的对象。

于 2012-10-20T17:37:19.400 回答