【发布时间】:2009-05-06 20:15:57
【问题描述】:
我可以通过两种方式测试 NSDictionary 中是否存在键:
BOOL containsKey = [[dictionary allKeys] containsObject:foo];
BOOL containsKey = ([dictionary objectForKey:foo] != nil);
哪种方法更快,为什么?
【问题讨论】:
-
"请展示你的作品?"您拥有与我们相同的工具。如果您想知道此类问题的答案,您应该尝试分析不同的代码。
-
Daniel 是绝对正确的,这是一种非常懒惰的方式来获得易于测试的问题的答案。但是我得到了一些非常好的答案和一些真实的性能结果,所以谢谢大家让我有点懒。
-
我知道人们对上面问题中的“请展示你的作品”这一行有点失望,但我认为堆栈溢出的目的是为了回答各种基本问题, 不?所以,澄清一下,我没有问这个,因为我不知道答案,找不到自己,或者是一个粗鲁的混蛋。相反,因为除非您熟悉 Foundation 系列,否则答案不会立即显而易见,这似乎是一个很好的问题和答案。
-
这个问题已经引起了我们社区的多个标志。我对您的问题进行了小幅编辑,请考虑保留它(或将我的编辑修改为任何内容,而不是原来的内容)。
-
我完全没有意识到我可以在事后编辑问题。 /掌脸
标签: cocoa performance nsdictionary