【发布时间】:2019-02-28 21:29:42
【问题描述】:
我在 iOS (swift) 中调用 API。一切都很完美,但是在大约 40 或 60 秒内得到响应会花费太多时间。我不知道为什么会这样。让我给你看一下我的API调用方法:
代码
func userDetailAPI(){
let preferences = UserDefaults.standard
let uid = "u_id"
let acctkn = "acc_tkn"
if preferences.object(forKey: uid) == nil {
// Doesn't exist
} else {
let u_id = preferences.object(forKey: uid) as! String
print(u_id)
let acc_tkn = preferences.object(forKey: acctkn) as! String
print(acc_tkn)
let userprofile: [String : Any] = ["user_id":u_id,"access_token":acc_tkn]
print(userprofile)
Alamofire.request(userDetails, method: .post, parameters: userprofile).responseJSON { response in
print("RESPONSE : \(response)")
let result = response.result.value
if result != nil{
let data = result as! [String : AnyObject]
let userdata = data["data"] as! NSDictionary
let email = userdata["email"]
let name = userdata["name"]
let photo = userdata["photo"]
//let u_type = userdata["user_type"]!
self.lblUserName.text = name as? String
self.lblEmailID.text = email as? String
let proimgurl = NSURL(string: photo as! String)
self.imgProPic.image = UIImage(data: NSData(contentsOf: proimgurl! as URL)! as Data)
// }
}
}
}
}
请检查并帮助我 - 这是 API 调用的正确方法还是有其他更好的方法?
【问题讨论】:
-
不相关但不要在 Swift 中使用
NS类,如果有本地对应类(NSURL、NSData、NSDictionary)。在 Swift 3+ 中,JSON 值永远不会是AnyObject
标签: ios swift api alamofire swifty-json