这是我的情况。我有两个表格视图。在一个视图中搜索完两个tableview后,我找到了解决方案来制作2个额外的控制器。即tbl1DatasourceDelegate和tbl2DatasourceDelegate。现在当我推入一个单元格时,它应该继续到另一个viewController。我在我的tbl1DatasourceDelegate中有这个代码。从另一个控制器做segue
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
PlayerNews *news = [_tableSource objectAtIndex:indexPath.row];
PlayerDetailController *detail =[[PlayerDetailController alloc]init];
[detail setNewsItem:news];
}
所以,当我选择一个单元格我做一个playerNewsObject,并与其中的2个tableviews发送回我的控制器。当我回到我的控制器中时,其中有两个表格。 (我从那里继续的控制器)我执行功能setNewsItem在这里你看到的代码。
-(void)setNewsItem:(PlayerNews *)newsItem{
if(![_newsItem isEqual:newsItem]){
_newsItem = newsItem;
}
NSLog(@"Player detail controller newsItem object: %@", _newsItem);
[self performSegueWithIdentifier:@"PlayerDetailNews" sender:tblNews];
}
执行此代码是因为我的日志显示我在tableview上推送的newsItem。但它不会继续下去。我正在使用以下prepareForSegue。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"comes in this segue");
// ask NSFRC for the NSMO at the row in question
if ([segue.identifier isEqualToString:@"PlayerDetailNews"]) {
[segue.destinationViewController setImageURL:[NSURL URLWithString:_newsItem.image]];
[segue.destinationViewController setNewsTitle:_newsItem.title];
[segue.destinationViewController setNewsDescription:_newsItem.content];
[segue.destinationViewController setNewsCopy:_newsItem.image_copyright];
[segue.destinationViewController setNewsUrl:_newsItem.url];
[segue.destinationViewController setNewsShortDescription:_newsItem.summary];
}
}
它没有进入此方法,因为它不打印日志。它崩溃,出现以下错误。
** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<tblPlayerNewsDatasourceDelagete: 0x1e5e44c0>) has no segue with identifier 'showPlayerDetailNews''
有人能帮助我吗?
谢谢你不能够推出赛格瑞