0

さて、私が今持っているのは、データを含む2つの配列です。

myArray1見出しmyArray2の長いリストと説明の長いリストがあります。見出しの関連する説明は、配列の隣接するポイントにあります。たとえば、「水」が の 1 つのポイントにある場合Array1、「飲むことができる液体です」は同じポイントにありますが、myArray2.

THENmyArray1はに表示され、UITableViewどのエントリをクリックしても、クリックした行番号がロードされる別のビューに渡されます。そのビューには、myArray2 objectAtIndex:渡されたインデックスがロードされるテキストフィールドがあります。

これはすべてうまくいきます!それで、質問はどこですか?このチュートリアルに示されているような検索バーを実装しようとしています:

http://www.youtube.com/watch?v=SlhrYJxE_rY

しかし、今では検索結果が表示され、UITableViewクリックすると、渡された行はmyArray2サイズが異なり、間違った説明を取得しているため、特定の行ではありません!!

では、見出しと説明を含むデータを同じエンティティに保存するにはどうすればよいでしょうか? または、検索結果が実際のテーブルを切り捨てないようにするにはどうすればよいですか?

4

2 に答える 2

0

UITableview で検索すると、UITableview のインデックスパスが uisearchbar の結果テーブルとは異なります。したがって、カスタム セルがある場合は、indexInNormalTable のようにプロパティを追加して cellforrowatindexpath: に設定し、実際の行インデックスの代わりにその (indexInNormalTable) をインデックスとして使用できます。したがって、そのインデックスを渡すと、適切な対応するオブジェクトが取得されます。あなたのmyArray2で。

于 2012-12-19T09:48:57.330 に答える
0

You can get the index of object in the array and then pass this index to next controller to show the description.You can get index as

NSUInteger index = [array1 indexOfObject:@"water"];

Hope it will help :)

于 2012-12-19T10:07:25.390 に答える