2011-02-15 13 views
0

アプリの仕組みはかなり標準です。私は画像とテキストを含むセルを持つメインテーブルビューを持っています。アイテムをタップすると、UIWebViewで構成された対応する詳細ビューに移動します。テーブルを検索することができます。私がテーブルを検索すると、結果が正しく表示されます。ただし、検索結果からアイテムをタップすると、正しい詳細ビューにはなりません。代わりに、検索する前にその行にあったアイテムの詳細ビューに移動します。検索結果から詳細表示にナビゲートする方法を教えてください。

検索結果を選択したときに正しい詳細ビューが表示されるように調整するには何が必要ですか?

申し訳ありません、コードを投稿してください。特に何かを見る必要がある場合は、私に知らせてください。ありがとう! CODEで更新

- (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

検索結果を取得したら、アレイを再構築する必要があります。 2つの配列があります。1つはデータ全体を含む配列で、もう1つはsearchクエリのデータを含むsearchResultArrayです。検索していない場合は、searchResultArrayをNULLにして、元の配列に基づいて現在実行しているように結果を表示し続けます。ただし、検索が完了して結果が得られるとすぐに、searchResultArrayにも同じ結果を設定します。ここで特定の行をクリックすると、didSelectRowメソッドでsearchArrayが空であるかどうかがチェックされます。空でない場合は、このsearchResultArrayを使用して詳細ビューに値を設定します。

0

は古い配列から値を取得しているかもしれませ。

検索された配列から値を取得していることをコードで確認します。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [searchArray objectAtIndex:indexPath.row]; 
} 
関連する問題