【发布时间】:2016-07-14 00:11:04
【问题描述】:
我正在做一些应用程序优化,并且在大循环中对 NSMutableDictionary 的检查相当费力:
if ([self.variantBufferSequence objectForKey:[variant valueForKey:@"model_no"]] == nil) {
[self.variantBufferSequence setObject:[NSMutableDictionary new] forKey:[variant valueForKey:@"model_no"]];
}
有没有更简单的方法来检查if-statement 中的条目 (objectForKey) 是否存在?
【问题讨论】:
-
您是否检查过大部分时间是否花在
objectForKey? -
为什么你认为
objectForKey:调用比valueForKey调用更昂贵(这通常是两者中较慢的,并且可能非常慢)。variant是什么?这个测试经常是真的吗?当您对此进行分析时,Instruments 说了什么?孤立地优化一行代码很少是正确的方法。什么值在循环中发生变化?这本词典有多大?
标签: objective-c nsmutabledictionary