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 代码中使用任何一个都不是好的解决方案。