gpt4 book ai didi

iphone - 遍历 NSDictionary 的键/值,是 enumerateKeysAndObjectsUsingBlock 比循环键和调用 objectForkey 更有效 :?

转载 作者:技术小花猫 更新时间:2023-10-29 10:22:08 28 4
gpt4 key购买 nike

我需要遍历字典的所有键/值对,并对这两个字段进行处理。我想知道什么更有效,传统的“foreach key”方法还是使用 enumerateKeysAndObjectsUsingBlock: 的 block 方法。

这里有一个例子:

传统方法( block 前)

for (NSString* key in [self.dictionary allKeys] ) {
[self processKey:key value: [self.dictionary objectForKey:value ]];
}

block 方法。

 [self.dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop){
[self processKey:key value:obj];
}];

我的直觉是使用 block 遍历键/值对更快,但我不确定,因为我不知道字典和特定 block 方法是如何实现的。

有什么想法吗?

提前致谢!

最佳答案

它们基本上是一样的——它们都是同步遍历。但是,以下将允许并发遍历,这会更快:

[self.dictionary enumerateKeysAndObjectsWithOptions:NSEnumerationConcurrent
usingBlock:^(id key, id object, BOOL *stop) {

}];

关于iphone - 遍历 NSDictionary 的键/值,是 enumerateKeysAndObjectsUsingBlock 比循环键和调用 objectForkey 更有效 :?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516371/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com