0
我剛剛更新到swift 3.1和Xcode 8.3.1,我掙扎着一個錯誤,它在更新之前不是一個錯誤。 ,我不知道如何解決該錯誤是試圖在該行try! JSONSerialization.jsonObject
無法用以下類型的參數列表調用jsonObject:(Any),options:[Any]
我在下面說明
public extension User {
public static var fake: Resource<[User]> = Resource(request: { (url) -> URLRequest in
var components = URLComponents(url: url, resolvingAgainstBaseURL: true)!
components.path = "/v2/fake-users"
var request = URLRequest(url: components.url!)
request.httpMethod = "GET"
return request
}) { (data) -> ([User]) in
let json = try! JSONSerialization.jsonObject(with: data, options:[]) >>>>ERRROR>>>> Cannot invoke 'jsonObject' with an argument list of type '(with: (Any), options: [Any])'
var code = json as? [String: Any]
let error = code?["code"] as! String?
if error == "NOT_AUTHORIZED_EXPIRED_TOKEN" || error == "INTERNAL_ERROR"{
let sessionController = SessionController()
sessionController.refreshToken(refreshToken: (SessionProvider().getUserToken()?.refreshToken)!) { (error) in
if let error = error {
print("Error trying to login refreshToken: \(error)")
} else {
print("login refreshToken successful")
}
}
}
else {
print("\n code: \(error)\n")
}
let unboxer = try Unboxer(data: data as! Data)
return try unboxer.unbox(key: "hits")
}
>([用戶])看來在閉包中的'data'參數返回'Any',所以你必須將其轉換爲'Data'或者將閉包聲明爲更具體的類型。順便說一句,你可以省略'options'參數,默認值是* no options *。 – vadian