如何使用 Alamofire 提神
How To Refresh With Alamofire
我是 Alamofire 的新手,Swift 如果我的问题很愚蠢,请不要生气。
好吧,既然已经不在了,让我们开始我的查询...
我正在从 JSON URL 获取数据,然后用 JSON 解析它。我正在使用此方法获取数据(已分配 "url"!)
Alamofire.request(.GET, url)
然后我将数据的某些部分分配给 UI 个元素,例如这个;
self.something.text = json["Something"]["Something"]["Something"][0]["Something"].string
这很好用。
我想要一些关于如何刷新它的指导,因为来自 URL 的数据每 2-5 分钟更改一次。
最好我希望它能够上拉刷新,但任何东西都可以,刷新按钮或自动刷新。
非常感谢您阅读我的问题,我很感激任何answers/feedback。
如果您需要我添加更多代码,我会很乐意这样做!
将您的 Alamofire 代码放入一个函数中
例如
func refreshUI() {
//Alamofire.request........
}
然后在需要刷新时调用此函数 UI,例如使用每 5 分钟调用此函数的计时器
我认为最好编写服务器端代码让服务器在发生更改时发送远程通知
您提到使用上拉刷新。所以我假设您在 UIViewController
.
中有 UITableViewController
或 tableView
然后用 UIRefreshController
设置真的很容易。在您的 viewDidLoad
中调用此函数
func setupRefreshControl() {
let refreshControl = UIRefreshControl()
refreshControl.attributedTitle = NSAttributedString(string: "Pull to Refresh");
refreshControl.addTarget(self, action: #selector(self.refreshIsRequested), forControlEvents: UIControlEvents.ValueChanged)
tableView.addSubview(refreshControl)
}
func refreshIsRequested() {
//Alamofire.request(.GET, url)... your alamofire request here
//Upon completion call self.refreshControl.endRefreshing()
}
我是 Alamofire 的新手,Swift 如果我的问题很愚蠢,请不要生气。
好吧,既然已经不在了,让我们开始我的查询...
我正在从 JSON URL 获取数据,然后用 JSON 解析它。我正在使用此方法获取数据(已分配 "url"!)
Alamofire.request(.GET, url)
然后我将数据的某些部分分配给 UI 个元素,例如这个;
self.something.text = json["Something"]["Something"]["Something"][0]["Something"].string
这很好用。
我想要一些关于如何刷新它的指导,因为来自 URL 的数据每 2-5 分钟更改一次。
最好我希望它能够上拉刷新,但任何东西都可以,刷新按钮或自动刷新。
非常感谢您阅读我的问题,我很感激任何answers/feedback。
如果您需要我添加更多代码,我会很乐意这样做!
将您的 Alamofire 代码放入一个函数中 例如
func refreshUI() {
//Alamofire.request........
}
然后在需要刷新时调用此函数 UI,例如使用每 5 分钟调用此函数的计时器
我认为最好编写服务器端代码让服务器在发生更改时发送远程通知
您提到使用上拉刷新。所以我假设您在 UIViewController
.
UITableViewController
或 tableView
然后用 UIRefreshController
设置真的很容易。在您的 viewDidLoad
func setupRefreshControl() {
let refreshControl = UIRefreshControl()
refreshControl.attributedTitle = NSAttributedString(string: "Pull to Refresh");
refreshControl.addTarget(self, action: #selector(self.refreshIsRequested), forControlEvents: UIControlEvents.ValueChanged)
tableView.addSubview(refreshControl)
}
func refreshIsRequested() {
//Alamofire.request(.GET, url)... your alamofire request here
//Upon completion call self.refreshControl.endRefreshing()
}