私は UISearchDisplay Controller をセットアップしており、値をフィルタリングするように機能していますが、結果をフィルタリングするもう少し高度な方法で誰かが私を助けることができるかどうか疑問に思っていました.
私の配列が次のようなものだったとしましょう: { アメリカの例, Eric, Different-Eric }
ユーザーが "Eri" を検索した場合、結果は { Eric, Different-Eric } になるはずです。これは、単語が単語の中央にある場合 (American) ではなく、単語が部分文字列で始まる場合にのみ結果を返す必要があるためです。
また、'-' が ' ' であるかどうか、およびその逆もチェックする必要があります。したがって、部分文字列 'Different-Eri' は、部分文字列 'Different Eri' も検索し、その逆も検索します。
さらに説明が必要な場合は、喜んでお答えします。何か良い方法はないかと考えてみました。
現在のコード:
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF.comname contains[cd] %@",
searchText];
searchResults = [[birdsArray filteredArrayUsingPredicate:resultPredicate] mutableCopy];