如何在Objective-C中创建NSDictionary?

时间:2017-01-26 05:41:08

标签: ios objective-c nsdictionary nsmutabledictionary

我想创建一个类似这样的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"
            },
        }
    }
}

但我不知道如何创作。

2 个答案:

答案 0 :(得分:45)

您应该使用数组和词典的组合。

词典的初始化如下:

NSDictionary *dict = @{ key : value, key2 : value2};

数组的初始化如下:

NSArray *array = @[Object1, Object2]

答案 1 :(得分:1)

新的Objective-C正确的键入字典的创建方式。

以下内容将key作为NSString的强类型,将value作为NSNumber的强的类型。

您应该养成始终在可能的地方设置类型的习惯,因为通过对它进行强类型化,编译器将阻止您犯常见错误,并且与Swift一起使用会更好:

NSDictionary<NSString *, NSNumber *> *numberDictionary;

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

NSDictionary<NSString *, id> *dataDictionary;

该值可以是任何类型。