2011-02-15 17 views
0

應用程序的工作方式非常標準。我有一個包含圖像和文本的單元格的主表視圖。當我點擊一個項目時,我被帶到一個由UIWebView組成的相應的詳細視圖。該表可以被搜索。當我搜索表格時,結果正確顯示。但是,當我點擊搜索結果中的某個項目時,我沒有看到正確的細節視圖。相反,在搜索之前,我被帶到該行中存在的項目的詳細視圖。我應該如何從搜索結果導航到詳細視圖?

我需要調整/添加什麼,以便在選擇搜索結果時顯示正確的詳細視圖?

對不起,不發佈代碼;如果您需要特別看到某些內容,請告訴我。謝謝!

更新,代碼:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
MObjectDetailVC *mObjectDetailVC = [[MObjectDetailVC alloc] initWithNibName:@"MObjectDetailVC" bundle:nil]; 
mObjectDetailVC.detailURL = [[NSURL alloc] initWithString:[[mcData objectAtIndex:indexPath.row] url]]; 
mObjectDetailVC.title = [[mcData objectAtIndex:indexPath.row] name]; 
[self.navigationController pushViewController:mObjectDetailVC animated:YES]; 
[mObjectDetailVC release]; 
} 
+0

發佈您的didSelectRowAtIndexPath代碼 – KingofBliss

+0

這樣做了,我可以看到這段代碼是如何成爲問題的。我該如何補救? – scojac

回答

0

您應該在獲得搜索結果後重新組合數組。有兩個數組:一個包含整個數據的數組和一個包含搜索查詢數據的searchResultArray。如果您不搜索,請將searchResultArray保留爲NULL,並繼續根據原始數組顯示結果。但是,只要搜索完成並獲得一些結果,請在searchResultArray中填充相同的結果。現在,當你點擊一個特定的行,然後在didSelectRow方法中檢查searchArray是否爲空。如果它不是空的,則使用此searchResultArray來填充詳細視圖。

0

可能是您檢索從舊陣列的價值。

檢查您的代碼,您正在從搜索陣列中獲取值。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [searchArray objectAtIndex:indexPath.row]; 
} 
相關問題