当分段控制索引改变Swift时取消查询

时间:2016-05-29 01:26:22

标签: ios swift

我想知道当我的分段控件的索引值发生变化时,如何从Parse Server取消查询。

假设我在Parse Server中有三个类。过去的帖子,现在的帖子和未来的帖子。我使用分段控件根据已进行的选择填充表视图。例如,如果选择了过去的帖子,那么表格视图将加载来自Parse Sever的过去的帖子数据,如果选择了未来的帖子,那么将从Parse Server的表格视图中加载Future Posts数据。

现在假设用户选择“过去帖子”选项,查询开始从“解析服务器”获取数据。然后,用户在“过去的帖子”查询完成之前选择“未来帖子”。如何取消“过去帖子”查询,以便只有“未来帖子”查询处于活动状态。非常感谢任何帮助!

@IBAction func didSelectSelegment(sender: UISegmentedControl) {
    switch sender.selectedSegmentIndex {
    case 0:
        fetchFuturePosts()

    case 1:
        fetchPresentPosts()

    case 2:
        fetchPastPosts()

    case 3:          
        displayAlert("Error", message: "Unexpected Index")

    default:
        break
    }
}

1 个答案:

答案 0 :(得分:2)

在ViewController中创建一个变量:

var currentQuery: PFQuery?

然后,您可以将此变量设置为您正在执行的任何查询,或者如果您没有运行查询,则将其设置为nil。要取消它,只需运行:

currentQuery?.cancel()
相关问题