更快捷的NSMutableDictionary检查方式

时间:2016-03-26 09:02:28

标签: objective-c nsmutabledictionary

我正在做一些应用优化,在大循环中对NSMutableDictionary的检查非常费力:

if ([self.variantBufferSequence objectForKey:[variant valueForKey:@"model_no"]] == nil) {
    [self.variantBufferSequence setObject:[NSMutableDictionary new] forKey:[variant valueForKey:@"model_no"]];
}

是否有更轻松的方法来检查objectForKey - 语句中条目(if)的存在?

1 个答案:

答案 0 :(得分:2)

在objc和clang的最新版本中,您可以使用更紧凑的表示法检查词典中是否存在键。

这个小例子对我有用:

NSMutableDictionary *description = @{@"model_no":@"key1"}.mutableCopy;
NSMutableDictionary *dictionary = @{@"key1":@"value1"}.mutableCopy;

if(dictionary[description[@"model_no"]]){
    NSLog(@"It exists!");
} else {
    NSLog(@"It doesn't exists!");
}

尝试将key1替换为key2中的description

Reference