gpt4 book ai didi

ios - 取消完成处理程序 (iOS)

转载 作者:行者123 更新时间:2023-11-29 11:47:30 25 4
gpt4 key购买 nike

我有一个文本字段,每当文本字段文本更改时,它都会从 API 获取数据,并更新表格。

override func viewDidLoad() {
super.viewDidLoad()

searchTextField.addTarget(self, action: #selector(textFieldDidChange), for: UIControlEvents.editingChanged)
}

func textFieldDidChange() {

let queryString = self.searchTextField.text

SearchWSFacade.getSearchResults(queryString: queryString) {
(error) in

if (error == nil) {
self.tableView.reloadData()
}
}
}

只有当用户键入速度慢时(允许在键入下一个字符之前加载数据),这才能很好地工作。如果用户键入速度很快,我们就会遇到问题,因为多次调用 reloadData。

如果我在上一次搜索发生时取消搜索时的完成处理程序,这可能会得到解决。我该怎么做呢?或者有更好的解决方案吗?

最佳答案

如果您使用 Operations,您可以设置依赖关系,以便在下一个完成之前不会开始。而且,与 block 不同,操作可以取消。

关于ios - 取消完成处理程序 (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42863336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com