我是新的,希望您可以帮助我。
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。使用更多像快速阵列!