如何用Alamofire刷新

时间:2016-09-21 18:16:24

标签: json swift refresh 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分钟更改一次。

最好我希望它可以上拉以刷新但是一切都很好,刷新按钮或自动刷新。

非常感谢您阅读我的问题,感谢您的回答/反馈。

如果您需要我添加更多代码,我很乐意这样做!

2 个答案:

答案 0 :(得分:0)

将您的Alamofire代码放入一个函数中 例如

func refreshUI() {
    //Alamofire.request........
}

然后在需要刷新UI时调用此函数,例如使用每5分钟调用此函数的计时器

我认为如果你编写服务器端代码让你的服务器在发生变化时发送远程通知是更好的做法

答案 1 :(得分:0)

你提到使用上拉刷新。所以我假设您在UITableViewController中有tableViewUIViewController

然后使用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()
}