1
我試圖獲得一個鍵的數組,其中值爲NSDictionary
的對應鍵爲@YES
。從NSDictionary獲取包含NSNumber bools的鍵的列表,其中的值是@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
更好的辦法?
謝謝!這正是我知道我可以做但不知道如何做的事情。 – SimpsOff