特定の文字列で始まるNSStringの配列内のすべてのオブジェクトを見つけようとしていて、これらのオブジェクトをすべて含む小さな配列を返します。配列に文字列で始まるオブジェクトが含まれているNSStringのNSArray
'Cat',
'Dog',
'Dolphin',
'Whale'
をそして、それは検索文字列がdo
あるとき、新しいNSArrayのはDog
とDolphin
オブジェクトで返されます。たとえば、オブジェクトと配列を持つことができます。
特定の文字列で始まるNSStringの配列内のすべてのオブジェクトを見つけようとしていて、これらのオブジェクトをすべて含む小さな配列を返します。配列に文字列で始まるオブジェクトが含まれているNSStringのNSArray
'Cat',
'Dog',
'Dolphin',
'Whale'
をそして、それは検索文字列がdo
あるとき、新しいNSArrayのはDog
とDolphin
オブジェクトで返されます。たとえば、オブジェクトと配列を持つことができます。
NSString* beginsWithRequirement = @"do";
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[cd] %@", beginsWithRequirement];
NSArray* subArray = [originalArray filteredArrayUsingPredicate:predicate];
、Predicate Programming Guideを参照してください。
はこれを試してみてください - 述語を使用する方法の詳細については
-(NSArray *)entriesInArray:(NSArray *)wordsArray whichStartWithString:(NSString *)startString {
startString = [startString lowercaseString]; // get rid of this for case-sensitive (& the lowercaseString bit in the loop too)
NSMutableArray *resultsArray = [NSMutableArray array];
for (NSString *thisString in wordsArray) {
if ([[thisString lowercaseString] hasPrefix:startString]) [resultsArray addObject:thisString];
}
return resultsArray;
}
はNSPredicateで試してみてください。詳細については
NSArray *arr = [NSArray arrayWithObjects:@"Dog",
@"Cat",
@"Dolphin",
@"Tiger", nil];
NSString *search = @"do";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF BEGINSWITH[c] %@", search];
NSArray *result = [arr filteredArrayUsingPredicate:predicate];
をあなたはとてもファンキーおかしくなりましたPredicate Programming Guide
を確認することができます。私は "SELF BEGINSWITH [cd]%@"を追加しなければなりません。単純な古い%@を使用するだけではありません。 –