下拉刷新 Swift JSON 数据

Pull to refresh in Swift JSON data

我在网络上有我的 json 文件,我正在从那里将数据检索到我的应用程序。我的应用程序是关于国家的,所以当我在 json 文件中添加一个新国家/地区时,我想转到我的应用程序,当我拉出时,我想显示所有国家/地区以及我在 json 中创建的新国家/地区=31=] 文件.

我已将 UIRefreshControl() 添加到我的应用程序,但它不会刷新,而且 "loading icon" 永远不会消失。这是一张图片:

the "loading icon" never disappears

当我在我的 json 文件中创建一个新国家时(例如:英格兰),我如何在我的应用程序中拉出屏幕,然后我的应用程序中就有了所有国家 + 英格兰.并在应用程序中加载所有国家/地区时让 "loading icon" 消失。

请帮我解决这个问题。非常感谢!

这是我的 UIRefreshControl 代码:


import UIKit

class TableController: UITableViewController {

var TableData:Array< String > = Array < String >()

var refresh = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()

    get_data_from_url("https://mylink")

    refresh.tintColor = UIColor.darkGray

    self.tableView.addSubview(refresh)

}

试试下面的代码:-

   import UIKit

    class TableController: UITableViewController {

    var TableData:Array< String > = Array < String >()

    var refresh = UIRefreshControl()

    override func viewDidLoad() {
        super.viewDidLoad()
        refresh.tintColor = UIColor.darkGray
        refresh.addTarget(self, action: "refresh:", forControlEvents: UIControlEvents.ValueChanged)
        self.tableView.addSubview(refresh)

    }

    func refresh(sender:AnyObject) {
       // Code to refresh table view  
       get_data_from_url("https://mylink") //Call this on different thread and put the below two lines in completion handler of same thread
DispatchQueue.main.sync {
       self.tableView.reloadData()
        self.refreshControl?.endRefreshing()
      }     
 }