2

一連のオブジェクト(フィルターごとに異なる量のキー)を保持するプロパティをFilter持つというデータ型があります。と呼ばれるにこれらのオブジェクトの束が格納されています。NSMutableArrayFilterKeyFilterNSMutableArrayFilters

UITableView各行にオブジェクトの1つからのデータが入力されているがありますFilterKey。私の質問は、UITableViewの特定の行について、Filters配列を使用して正しいものを見つけるにはどうすればよいですかFilterKey(フィルターとキーを手動で並べていることを考慮して)?

基本的に、配列をトラバースするだけで、オブジェクトFiltersごとにすべてをトラバースできることはわかっていますが、これを行うためのより良い方法(つまり、より良いデータ構造、または適切なオブジェクトをより速く提供する何か)があるのではないかと思います。 ?FilterFilterKeys

ご不明な点がございましたら、ご迷惑をおかけして申し訳ありませんが、コメントでお知らせください。

4

2 に答える 2

2

通常、これにはセクションと行を使用します。各セクションはFilterであり、各行はFilterKeyです。

フィルタキーを表示したいだけで、フィルタのセクションヘッダーがないようです(投稿を正しく読んでいる場合)。実際にヘッダーが必要ない場合は、それで問題ありません。の場合は0を返しtableView:heightForHeaderInSection:ます。niltableView:viewForHeaderInSection:

これらはすべて、パフォーマンスよりも利便性のためです。フィルタを実行してキーの数を合計するよりもはるかに高速になる可能性はほとんどありません。そのような操作は非常に高速です。ただし、セクション/行はデータをより適切にマップするため、コードを単純にするためにとにかくそれを使用します。

于 2013-02-22T16:54:49.217 に答える
1

ハッシュマップされたNSMutableDictionaryを使用すると、より速く、より簡単で、読みやすい操作が可能になります。

配列を使用する場合は、特定の値を検索するためにトラバースする必要はありません。NSPredicateを使用して配列をフィルタリングできます。

于 2013-02-22T16:46:15.390 に答える