从 3.0 更新到 SwiftyJSON 4.0 导致旧代码不明确
Posted
技术标签:
【中文标题】从 3.0 更新到 SwiftyJSON 4.0 导致旧代码不明确【英文标题】:Updating to SwiftyJSON 4.0 from 3.0 causing old code to be ambiguous 【发布时间】:2018-02-19 20:36:33 【问题描述】:由于 SwiftyJSON 3.0 已被弃用,我已将我的 CocoaPods 更新为 SwiftyJSON 4.0。但是,我从旧代码中得到一个错误。
let path: String = Bundle.main.path(forResource: "jsonFile", ofType: "json") as String!
let readableJSON = JSON(data: jsonData! as Data, options: JSONSerialization.ReadingOptions.mutableContainers, error: nil)
它出现了这个错误:
Type of expression is ambiguous without more context
我不确定为什么它现在是模棱两可的以及它所要求的上下文?
【问题讨论】:
【参考方案1】:SwiftyJSON 4 中的 init(data:options:
初始化器 throws
let url = Bundle.main.url(forResource: "jsonFile", withExtension: "json")!
let jsonData = try! Data(contentsOf: url)
let readableJSON = try! JSON(data: jsonData)
代码不得崩溃。如果是这样,则表明存在设计错误。
.mutableContainers
选项在 Swift 中毫无意义
【讨论】:
以上是关于从 3.0 更新到 SwiftyJSON 4.0 导致旧代码不明确的主要内容,如果未能解决你的问题,请参考以下文章
AlamoFire 4.0 + SwiftyJSON 展开深度嵌套的 JSON
将Wix 3.0迁移到Wix 4.0时出现错误:WXCP0006:此节点前的空格不正确(WhitespacePrecedingNodeWrong)
如何在 Swift 3.0 中使用 SwiftyJSON 将 JSON 数据分配给 UILabel?