NSDictionary
の対応するキーの値が @であるキーの配列を取得しようとしていますYES
。
EG の場合: 辞書の開始:
NSDictionary* dict = @{@"key1" : @YES, @"key2": @YES, @"key3": @NO, @"key4": @NO};
望ましい結果:
NSArray* array = @[@"key1", @"key2"];
NSPredicates と subpredicates でこれを実行しようとしましたが、私が望むものを見つけることができませんでした。私の「機能する」が醜い解決策は次のとおりです。
NSMutableArray* array = [[NSMutableArray alloc] initWithCapacity:0];
NSDictionary* dict = @{@"key1" : @YES, @"key2": @YES, @"key3": @NO, @"key4": @NO};
for (NSString* key in [dict allKeys]) {
if ([[dict objectForKey:key] isEqualToNumber:@YES])
[array addObject:key];
}
おそらく?を使用して、これを行うより良い方法は何NSPredicates
ですか.