Swift在iOS 10上失败,在9和更低的工作正常

时间:2017-02-08 14:13:59

标签: swift ios10

这部分代码不起作用(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)

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

除非您使用选项NSMutableDictionary,否则解析器在解析时不会使用可变字典和可变数组。

因此,NSDictionary的演员不会成功。你将只拥有不可变的{{1}}。

然而,在Swift代码中使用任何一个都不是一个好的解决方案。