代码之家  ›  专栏  ›  技术社区  ›  RyanTCB

有没有取消中间功能的想法?Swift iOS系统

  •  2
  • RyanTCB  · 技术社区  · 9 年前

    当用户在 UICollectionView .这是 asynchronous 因此,在检索数据时,UI保持活动状态。允许用户在 UI集合视图 。我不想停止此操作,但我希望有一种方法可以取消第一个函数调用,并为当前选定的单元格调用新方法。

    didDeselectItemAt indexPath:

    我想在UI上放置一个“请等待”模式视图,这样可以防止在函数返回之前进行第二次单元格选择。这是我的最佳选择还是有更好的方法?

    3 回复  |  直到 9 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    请点击此处查看其他问题的答案: GCD cancel async block?

        2
  •  2
  •   vaibhav    9 年前

    通过使用 NSOperationQueue 在执行过程中启用对任务的控制,而 GCD 不允许相同,但两者都适用于特定任务机制的后台和前台执行。

    • GCD公司 是一种表示将同时执行的工作单元的轻量级方式。你没有安排这些工作单元;系统会为您安排日程。

    • NSOperation

    示例:

    var backgroundQueue = NSOperationQueue()
        backgroundQueue.addOperationWithBlock(){
            println("hello from background")
            NSOperationQueue.mainQueue().addOperationWithBlock(){
                self.theLabel.text = "updated from main thread"
            }
        }
    

    现在可以进行提供的各种操作 操作队列 结束 backgroundQueue 变量

        3
  •  1
  •   Duncan C    9 年前

    您可以将网络任务提交为 NSOperations NSOperationQueue .

    NSOperation 具有cancel方法,并且 操作队列 有一个 cancelAllOperations 方法

    推荐文章