以下の別の配列から配列をフィルタリングしようとしていますが、私のコードスニペットです
NSMutableArray *filteredArray = [[NSMutableArray alloc] initWithCapacity:1];
[wordsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
{
NSString *currentWord = (NSString *)obj;
if(([currentWord length]>=4 && [currentWord length]<=6) && [currentWord rangeOfString:@" "].location == NSNotFound)
{
[filteredArray addObject:currentWord];
}
}];
私のコードは、期待どおりに完全に機能します。filteredArrayUsingPredicate:
私のコードよりも最適化されたソリューションを使用していると感じています。自分のコードに NSPredicate を書くにはどうすればよいですか?
私は多くの質問に従いましたが[currentWord length]>=4 && [currentWord length]<=6) && [currentWord rangeOfString:@" "].location == NSNotFound
、NSPredicate に置き換える正確な回答が得られる質問はありません。