ios - 在不使用 for 循环的情况下更新字典数组中的键值对

标签 ios objective-c replace nsmutablearray nsmutabledictionary

我在数组 (NSMutableArray) 中有几个字典 (NSDictionary)。

所有字典都具有相同的键但具有不同的值。

例子:

({
    Price = 100;
    Quantity = 3;
},
{
    Price = 200;
    Quantity = 5;
})

有没有一种方法可以在不使用 for 循环的情况下一次更新所有字典中特定键的值。

也就是说,有没有办法一次性让数组中所有字典的Quantity=0?

编辑:我正在寻找性能,因为我有大量字典,而且我假设可能有比使用 for 循环更快的方法来执行此操作。

最佳答案

在这种情况下,enumerateObjectsUsingBlock 是您的 friend 。

[dictionaryArray enumerateObjectsUsingBlock:^(NSDictionary *dict, NSUInteger idx, BOOL *stop) {

}];

但是,当您循环遍历字典时,enumerateObjectsUsingBlock 的性能要好得多。

这是对 objective-c 中循环性能的一个很好的分析: http://iosdevelopertips.com/objective-c/high-performance-collection-looping-objective-c.html

关于ios - 在不使用 for 循环的情况下更新字典数组中的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25684000/

相关文章:

search - vim 搜索和替换仅限于视觉 block 模式下的突出显示

ios - 1 个 iOS 应用程序的多个 WatchKit 应用程序

ios - 如何拖放具有相同代码的任何对象?

ios - 在动态 TableView 中添加静态单元格

objective-c - 如何以编程方式取消隐藏 mac os 中的隐藏应用程序?

由于 NSInvalidUnarchiveOperationException 导致 iOS11 WKWebview 崩溃

python - Pandas 替换为默认值

ios - 更改 UIAlertView 中按钮的辅助功能标签 - iOS

ios - 当针对 iOS 进行 Xcode 调试时,GStreamer 出现不必要的启动延迟和单元测试崩溃

android - 在 Kotlin 中使用 Replace 函数