NSDictionary 的 NSArray - 简单的初始化语法

Posted

技术标签:

【中文标题】NSDictionary 的 NSArray - 简单的初始化语法【英文标题】:NSArray of NSDictionary - Simple Initialization syntax 【发布时间】:2013-02-05 16:18:59 【问题描述】:

我开始使用 Objective-C(来自 Python) 我需要创建并初始化一个简单的字典。 在 Python 中我习惯这样做:

arr = [
    'fieldX': value1, 'fieldY': value2,
    'fieldX': value3, 'fieldY': value3,
]

这是我在 Objective-C 中所做的事情

NSArray *arr = [NSArray arrayWithObjects:
    [NSDictionary dictionaryWithObjectsAndKeys:
        value1, @"fieldX", value2, @"fieldY"
      , nil]
  , [NSDictionary dictionaryWithObjectsAndKeys:
        value3, @"fieldX", value4, @"fieldY"
      , nil]
  , nil
];

难道没有更简单的方法来初始化这个字典数组吗?

【问题讨论】:

【参考方案1】:

ios6 开始你可以使用文字

NSArray *arr = @[
                 @@"fieldX": value1, @"fieldY": value2,
                 @@"fieldX": value3, @"fieldY": value3
                ];

更多信息:http://clang.llvm.org/docs/ObjectiveCLiterals.html

【讨论】:

我认为我们甚至可以离开前导逗号,不是吗? @PierredeLESPINAY 是的,你可以离开前导逗号

以上是关于NSDictionary 的 NSArray - 简单的初始化语法的主要内容,如果未能解决你的问题,请参考以下文章

NSArray 中的 NSDictionary

来自 plist 文件的 NSArray 或 NSDictionary

带有 NSArray 的 UITableview 包含 NSDictionary 和 NSDictionary 包含另一个 NSDictionary

从 NSArray 过滤 NSDictionary

从 NSDictionary 对象的 NSArray 中,如何获取唯一的 NSArray

将包含 NSArray 的 NSDictionary 转换为 JSON