這是我的情況。我有兩個表格視圖。在一個視圖中搜索完兩個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''
有人能幫助我嗎?
謝謝你不能夠推出賽格瑞