NSDictionaryの配列からNSPredicateで検索するには。

ちなみに普通に文字列の配列だった場合は、以下のように書く。

NSArray *myArray = @[@"value1", @"value2", @"value3"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@", searchText];
self.dataSourceSearchResults = [myArray filteredArrayUsingPredicate:predicate];

配列の中身がDictionaryだった場合はこう書く。

NSDictionary *myDic1 = @{@"key1":@"value1", @"key2":@"value2"};
NSDictionary *myDic2 = @{@"key1":@"value3", @"key2":@"value4"};
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:myDic1];
[myArray addObject:myDic2];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"key1 contains[c] %@", searchText];
self.dataSourceSearchResults = [myArray filteredArrayUsingPredicate:predicate];

この記事を書いた人

kubou

kubou

2049, inc.
web業界で生活しています。
お仕事の割合はディレクション:8、開発:2くらい。