Я использую Alamofire для сетевого запроса. Когда я загружаю новый viewcontroller, я делаю новый запрос в ViewDidAppear, чтобы получить пример url для ect изображений. Когда я делаю запрос в 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()
}
}