こんにちは、私はtableviewを作成するマスタ配列を持っており、検索結果のフィルタ配列があります。両方とも、以下の方法でうまく動作します。私のテーブルビューと検索ディスプレイの配列は、以下の問題を除いて、このコードブロックの下でうまくいきます。iOSのsearchDisplayコントローラを使用して単語や文字の組み合わせを検索する
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
[self.filteredListContent removeAllObjects]; // First clear the filtered array.
for (product *new in parserData)
{
//Description scope
if ([scope isEqualToString:@"Description"])
{
NSRange result = [new.description rangeOfString:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
if (result.location != NSNotFound)
{
[self.filteredListContent addObject:new];
}
}
//Product scope
if ([scope isEqualToString:@"Product"])
{
NSRange result = [new.item rangeOfString:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)];
if (result.location != NSNotFound)
{
[self.filteredListContent addObject:new];
}
}
}
}
私は何を達成したいことはこれです。私は、LMD-2451 TDプロフェッショナル3D LCDモニタと呼ばれるアイテムをマスタアレイに持っています。 TDプロフェッショナル、TDプロ、TDを検索することができ、いずれの場合も上記の正しい項目が返されます。しかし、Pro TDを検索しても、結果は表示されません。私が直面している問題は、ユーザーが製品のタイトルや説明の順序を知ることができないことですか?だから私はこれを論理的に行う何かを実装する必要があります。私は本当に何をすべきかと固執しています。参照
NSMutableArrayの* parserDataについては
。 //完全なメインフル配列 NSMutableArray * filteredListContent; //検索結果の配列
ご意見をいただければ幸いです。
申し訳ありませんが、私はあなたのコンセプトを得ていますが、私はこれをどのように実装するかを考え出すのに苦労しています。最初にparserData配列を分割する必要がありますか?簡単な例がありますか? –
誰もがこれ以上私を助けることができますか? –
私の答えを更新しました、遅れてごめんなさい! –