こんにちは私はテーブルビューにデータを入力するマスター配列を持っており、検索結果用にフィルター処理された配列を持っています。これらは両方とも、以下の方法を使用して正常に機能します。私のテーブルビューと検索表示配列は、このコードブロックの下の以下の問題を除いてうまく機能しています。
- (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-2451TDProfessional 3DLCDMonitorというアイテムがあります。TD Professional、TD Pro、TDを検索すると、どのような場合でも上記の正しいアイテムが返されます。ただし、 Pro TDを検索しても、結果が表示されません。私が直面している問題は、ユーザーが製品のタイトルや説明の順序を知らない可能性があることです。したがって、これを論理的に行う何かを実装する必要があります。私は本当に何をすべきかで立ち往生しています。
参考のために
NSMutableArray * parserData; //メインの完全な配列を完成させますNSMutableArray*filteredListContent; //検索結果の配列
任意の提案をいただければ幸いです。