我想知道使用[self.operationQueue cancelAllOperations]的正确方法是什么;
我在异步中使用块操作来从我的API获取结果。有时我会在第二次请求后得到第一个请求的结果,并向用户显示这些结果。
我正在使用AFNetworking库进行操作。关于如何确保在特定时间只有一个请求(最新的请求)处于活动状态以及之前的请求会自动取消的任何建议。
答案 0 :(得分:0)
当队列中的所有操作都被取消时,每个正在运行的操作都有责任自行停止。该队列仅阻止将来的操作启动。使用块操作时,实际上没有任何方法可以停止,因为块无法访问操作以检查它是否被取消。
目前尚不清楚你正在使用什么操作,但你需要创建一个操作子类,要么运行要么包装那个逻辑,至少在运行最终回调之前检查取消是否返回结果。