如何在Objective-C中创建一个NSDictionary?

30

我想创建一个像这种类型的NSDictionary:

"zones": 
{
    {
        "zoneId": "1",
        "locations": 
        {
            {
                "locId": "1",
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
            {
                "locId":2,
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
            {
                "locId":3,
                "locZoneId": "1",
                "locLatitude": "33.68506785633641",
                "locLongitude": "72.97488212585449"
            },
        }
    }
}

但我不知道如何创造。


你想要实现什么?你想要反序列化这样的结构吗? - Marco
2个回答

87
你应该使用数组和字典的组合。 字典的初始化形式如下:
NSDictionary *dict = @{ key : value, key2 : value2};

数组的初始化方式如下:

NSArray *array = @[Object1, Object2]

10

Objective-C创建字典的正确、类型化方法。

以下使用了强类型的key,类型为NSStringvalueNSNumber

尽可能设置类型很重要,因为强类型可以防止常见错误,并且与Swift更加兼容。编译器会帮助你进行检查。

NSDictionary<NSString *, NSNumber *> *numberDictionary;

但在上述情况中,我们需要在字典中存储一个数组,因此它将是:

NSDictionary<NSString *, id> *dataDictionary;

这允许该值可以是任何类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接