类型为"结果<任何,AFError>"的值没有成员"值"JSON



有人知道如何解决这个bug吗?顺便说一句,我是个初学者,善良一点!

AF.request(URL_LOGIN, method: .post, parameters: body, encoding: JSONEncoding.default, headers: header).responseJSON { (response) in

if response.result.erro == nil {
if let json = response.result.erro as? Dictionary<String, Any> {
if let email = json["user"] as? String {
self.userEmail = email
}
if let token = json["token"] as? String {
self.authToken = token
}
}
self.isLoggedIn = true
completion(true)
} else {
completion(false)
debugPrint(response.result.error as Any)

在此处输入图像描述

首先检查拼写,erro毫无意义。

根据错误,result的值为Result<Any, AFError>Result是具有相关类型和两种情况的枚举:successfailure

语法必须类似

AF.request(URL_LOGIN, method: .post, parameters: body, encoding: JSONEncoding.default, headers: header).responseJSON { (response) in
switch response.result {
case .success(let result):
if let json = result as? Dictionary<String, Any> {
if let email = json["user"] as? String {
self.userEmail = email
}
if let token = json["token"] as? String {
self.authToken = token
}
}
self.isLoggedIn = true
completion(true)
case .failure(let error):
completion(false)
debugPrint(error)
}
}

逻辑不太符合逻辑。我确信,如果emailtoken无效,则self.isLoggedIn不应该是true,并且在发生错误时应该设置为false

相关内容

  • 没有找到相关文章

最新更新