2012-11-20 66 views
-1

我有一個splitView應用程序,我已經安裝了搜索/過濾。IOS - 搜索/過濾後,如何選擇rowAtIndexPath

過濾工作的主視圖,但我不知道如何設置「didSelectRowAtIndexPath」。似乎根和細節之間的鏈接丟失了。

我嘗試使用此代碼重新連接:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    indexPath = [self.tableView indexPathForSelectedRow]; 

    if (tableView == self.searchDisplayController.searchResultsTableView) 
    { 
     self.selectedItem = [self.searchResults objectAtIndex:indexPath]; 
    } 
    else 
    { 
     self.selectedItem = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    } 

    detailViewController.item = self.selectedItem; 
    [self.detailViewController.tableView reloadData]; 

但是,這並不讓我有NSRangeException。

相反,如果我使用:

self.selectedItem = [self.searchResults objectAtIndex:indexPath.row]; 

也不例外,但細節視圖不捕獲。

我很感激任何幫助。

+0

爲什麼你要調用'indexPath = [self.tableView indexPathForSelectedRow];'而不是使用'indexPath'作爲參數提供給函數? –

+0

輝煌。就是這樣..非常感謝。如果你可以建議這個答案,我會馬上接受。有時候,第二雙眼睛是所有需要的。再次感謝你.. –

回答

2

這是沒有必要的(也可能是錯誤的)打電話給

indexPath = [self.tableView indexPathForSelectedRow]; 

因爲所選行作爲參數提供給tableView:didSelectRowAtIndexPath: