Swift 在 iOS 10 上失败,在 9 及更低版本上工作正常
Swift fails on iOS 10, on 9 and lower works fine
这部分代码无效(if-part)。 Service.Start 调用 JSONSerializer 并解析 json.
Service.Start(nil, url: someUrl, onCompletion: { result in
if let temp = result as? NSMutableDictionary {
//some code
}
获取结果代码:
let parsedObject = try JSONSerialization.jsonObject(with: data!, options: []) as! NSDictionary
onCompletion(parsedObject)
有什么想法吗?
除非您使用选项 [.mutableContainers]
,否则解析器在解析时不会使用可变字典和可变数组。
因此转换为 NSMutableDictionary
不会成功。你将只有不可变的 NSDictionary
.
但是,在 Swift 代码中使用任何一个都不是好的解决方案。
这部分代码无效(if-part)。 Service.Start 调用 JSONSerializer 并解析 json.
Service.Start(nil, url: someUrl, onCompletion: { result in
if let temp = result as? NSMutableDictionary {
//some code
}
获取结果代码:
let parsedObject = try JSONSerialization.jsonObject(with: data!, options: []) as! NSDictionary
onCompletion(parsedObject)
有什么想法吗?
除非您使用选项 [.mutableContainers]
,否则解析器在解析时不会使用可变字典和可变数组。
因此转换为 NSMutableDictionary
不会成功。你将只有不可变的 NSDictionary
.
但是,在 Swift 代码中使用任何一个都不是好的解决方案。