我正在使用Alamofire进行网络请求。当我加载一个新的viewcontroller时,我在ViewDidAppear中创建了一个新的请求来获取图片等的示例url。当我在ViewDidAppear中提出请求时,在数据出现之前会有一段延迟,我也在ViewDidLoad中尝试了一下,请求速度稍微快了一点,但是您可以稍后看到数据出现。当用户首次访问视图控制器时,用户将看到数据正在加载,但是有没有办法保留这些数据,以便当用户离开控制器时,例如当用户从推回去时在导航控制器中,然后再次向前导航而不再请求重新获取数据?如何在Swift中更快地发出网络请求
这是我在ViewDidAppear请求的一个:希望你们能帮助 - 谢谢你
override func viewDidAppear(animated: Bool) {
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)
var parameters = [String: AnyObject]()
if(self.MySelf)
{
parameters = ["userId": LoginViewController.CurrentUser.UserID as AnyObject]
}
else
{
parameters = ["userId": self.UserID as AnyObject]
}
//GET posts
Alamofire.request(.POST, Config.ApiURL + "getUserPosts?token=" + LoginViewController.CurrentUser.Token, parameters: parameters as! [String : AnyObject]).responseJSON{ response in
print(response)
switch response.result {
case .Success(let data):
let json = JSON(data)
if let posts = json["post"]["data"].array
{
self.postArray = posts
self.postArray = self.postArray.reverse()
self.navigationItem.title = json["user"]["firstname"].string! + " " + json["user"]["lastname"].string!
self.User = json["user"]
self.UserPic = self.User["photourl"].string!
}
else
{
print("Array is empty")
}
case .Failure(let error):
print("Request failed with error: \(error)")
}
self.ProfilePostColView?.reloadData()
}
}