gpt4 book ai didi

ios - 如何取消 performBlock :

转载 作者:行者123 更新时间:2023-12-01 18:43:55 25 4
gpt4 key购买 nike

我实现了一个搜索,对于用户输入的每个新字符,一个 performFetch:performBlock: 内部开始.如果搜索字符串发生变化,我想取消之前开始的 block 并重新开始。我将如何取消或至少通知 performBlock: 中的 block 关于它?

我现在拥有的示例代码:

[myManagedObjectContext performBlock:^{
// fetch from background queue
if([[self fetchedResultsController] performFetch:nil]) {
// update the view from the main queue
// don't do this if performBlock already got started again! but how?
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
// refresh UI
}];
}
}];

最佳答案

没有 API 可以取消 performBlock .一旦开始,它会一直持续到完成或直到您的代码 return s 从它。

如果您发现有必要在提取过程中取消提取,请查看 NSAsynchronousFetchRequest ,允许通过 NSProgress 取消. WWDC 2014 Core Data session 中描述了异步获取请求和取消。

关于ios - 如何取消 performBlock :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38404492/

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