“呼叫可能引发,但未标记为“ try”,并且未处理错误”

时间:2019-04-17 16:38:02

标签: swift xcode swifty-json

我是Swift的新手,无法解决以下错误:

  .map { JSON(data: $0) }
class func liveInfo() -> Observable<JSON> {
    let request = try! URLRequest(url: someURL, method: .get)
    return session.rx
      .data(request: request)
      .map { JSON(data: $0) }
}

1 个答案:

答案 0 :(得分:0)

SwiftyJSON的JSON(data:)可能会引发异常,因此您必须用try对其进行标记。

严格的解决方案:

.map { (data) in
    do {
        return try JSON(data: data)
    }
    catch {
        fatalError("unable to convert data to JSON")
    }
}

宽松的解决方案:

.compactMap { try? JSON(data: $0) }