“呼叫可以抛出,但它没有标记'尝试'并且错误未被处理”[重复]

问题描述 投票:-2回答:1

我是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) }
}
swift xcode swifty-json
1个回答
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) }
© www.soinside.com 2019 - 2024. All rights reserved.