【问题标题】:How to create an NSDictionary in Objective-C?如何在 Objective-C 中创建一个 NSDictionary?
【发布时间】:2017-01-26 05:41:08
【问题描述】:

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

但我不知道如何创建。

【问题讨论】:

  • 你想完成什么?你想反序列化这样的结构吗?

标签: ios objective-c nsdictionary nsmutabledictionary


【解决方案1】:

您应该结合使用数组和字典。

字典是这样初始化的:

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

数组的初始化如下:

NSArray *array = @[Object1, Object2]

【讨论】:

    【解决方案2】:

    Objective-C 是创建字典的正确类型化方式。

    下面有一个强类型的keyNSStringvalueNSNumber

    您应该始终尽可能设置类型,因为通过将其设为强类型,编译器将阻止您犯常见错误,并且它与 Swift 配合得更好:

    NSDictionary<NSString *, NSNumber *> *numberDictionary;
    

    但是在上面的例子中,我们需要在字典中存储一个数组,所以它将是:

    NSDictionary<NSString *, id> *dataDictionary;
    

    允许值是任何类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2012-01-29
      • 2010-10-17
      相关资源
      最近更新 更多