我有一個視圖,其中有2個tableviews。這個視圖有控制器PlayerDetailController 現在來控制2個tableviews我有2個其他的控制器。如何從自定義的delagate和數據源繼續
- tablePlayersDataSourceDelegate
- tablePlayerNewsDataSourceDelegate
我從PlayerDetail視圖CTRL-拖到新聞瀏覽做出SEGUE。在我的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。你可能知道一種解決它的方法嗎?
親切的問候。
編輯 在這裏,你看到的是什麼picture我談論
所以,你可以看到在playerDetailView兩個tableviews。當單擊底部tableview中的單元格時,它應該轉到下一個視圖。
EDIT2
這是我在playerDetailController填滿我的tableview做。我把這個放在我的viewDidLoad中。
tabelPlayerNews=[[tblPlayerNewsDatasourceDelagete alloc]init];
[tabelPlayerNews setTableSource:_newsArray];
tblNews.dataSource=tabelPlayerNews;
tblNews.delegate=tabelPlayerNews;
tabelPlayerNews.view=tabelPlayerNews.tableView;
好的,讓我再解釋一遍。我有一個視圖控制器,其中有2個tableviews。但是這些tableviews對於他們的數據源和代理都有一個單獨的控制器類。在那個控制器中,我使用了performSegueWithIdentifier:。但是,該控制器在故事板中沒有可視化視圖。所以我無法按Ctrl從這裏拖動它。 –
我編輯了我的問題。我有你需要更多的澄清,請問。 –
明白了。我的答案仍然大致相同:segue的拖動必須從某個UIViewController子類開始,並且執行segue的調用需要位於同一個子類中。 (數據源和代表的存在並不是這個機制的真正組成部分。) –