如何将nsobject转换为nsdictionary或如何访问nsobject键Swift3



我是新的,希望您可以帮助我。

i在函数中重新填充一个变量,该变量是一个钥匙值对象,我有下一个代码来设置此var。

let params = command.arguments[0] as? NSObject

如果我打印此变量,则结果是:

Optional(<__NSArrayM 0x17024fea0>(
{
    coordinate = "xxxxxxx,xxxxx";
    identifier = cordstrab;
    latitude = "xxxxxxxx";
    longitude = "xxxxxxx";
    note = Trabajo;
    radius = 5;
    type = onEntry;
}
)
)

我希望能够加速数据,我正在尝试

let lat = (params?.value(forKey: "latitude") as! String)

我不知道怎么了,也不知道该对象的值。

,因为该对象似乎是 dictionary 数组将其施加到 dictionary array anday,并为字典使用键订阅

if let params = command.arguments[0] as? [[String:Any]], let dict = params.first {
   let lat = dict["latitude"] as! String // the output is clearly string
   let long = dict["longitude"] as! String
   ...
}

除非编译器告诉您,否则不要将对象施放到Swift中的NSObject

您的回答说这是一系列字典。您需要做

  params?[0].value(forKey...)

但是,在此之前,您需要将其施放为

  command.arguments[0] as? NSArray

正如Vadian所建议的那样,尽量不要使用NSArray。使用更多像快速阵列!

最新更新