我正在做一些应用优化,在大循环中对NSMutableDictionary的检查非常费力:
if ([self.variantBufferSequence objectForKey:[variant valueForKey:@"model_no"]] == nil) {
[self.variantBufferSequence setObject:[NSMutableDictionary new] forKey:[variant valueForKey:@"model_no"]];
}
是否有更轻松的方法来检查objectForKey
- 语句中条目(if
)的存在?
答案 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
。