【问题标题】:Pull to Refresh adds same data already have拉动刷新添加相同的数据已经有
【发布时间】:2015-09-20 00:15:56
【问题描述】:

我很难完成 Pull to Refresh 的实现。

当我拉动刷新时,它只是添加了我已经拥有的相同数据。所以我将得到相同的数据,乘以 2。

viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()

    self.refreshControl?.addTarget(self, action: "handleRefresh:", forControlEvents: UIControlEvents.ValueChanged)

    let query = CKQuery(recordType: "Play", predicate: predicate)
    publicData.performQuery(query, inZoneWithID: nil) { results, error in
        if error == nil { // There is no error
            for play in results! {
                let newPlay = Play()

                newPlay.color = play["Color"] as! String

                self.objects.append(newPlay)

                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    self.tableView.reloadData()
            })
            }
        }
        else {
            print(error)
        }
    }
}

handleRefresh:

func handleRefresh(refreshControl: UIRefreshControl) {

    let query = CKQuery(recordType: "Play", predicate: predicate)
    publicData.performQuery(query, inZoneWithID: nil) { results, error in
        if error == nil { // There is no error
            for play in results! {
                let newPlay = Play()

                newPlay.color = play["Color"] as! String

                self.objects.append(newPlay)

                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    self.tableView.reloadData()
                    refreshControl.endRefreshing()
            })
            }
        }
        else {
            print(error)
        }
    }
}

我开始想,也许是我需要在添加新的之前删除所有 objects,但不知何故,在 handleRefresh 函数中的 self.objects.append(newPlay) 之前添加这一行 self.objects.removeAll() 不起作用.

有什么想法吗?谢谢!

【问题讨论】:

    标签: ios swift uitableview pull-to-refresh


    【解决方案1】:

    self.objects.removeAll() 放在 for 循环之前,它应该可以正常工作。
    通过将它放在 for 循环中,每次迭代都清空数据源。

    【讨论】:

    • 完美。我会在 2 分钟内接受答案。
    • 还将您的 dispatch_async 块放在 for 循环之后。对于您拥有的每件物品,它都会被免费调用。
    猜你喜欢
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多