NSMutableDictionary 检查的更快方法

Faster way for NSMutableDictionary check

我正在做一些应用程序优化,在大循环中,对 NSMutableDictionary 的检查相当费力:

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

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

在 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 替换为 description 中的 key2

Reference