Stop dispatch_after

后端 未结 5 771
迷失自我
迷失自我 2020-12-24 03:36

I use an animation for specify a tip to help the interaction with delay using these:

 let delay = 1.8 * Double(NSEC_PER_SEC)
    let time = dispatch_time(DIS         


        
5条回答
  •  无人及你
    2020-12-24 03:46

    Swift 3.0 Example DispatchQueue cancel or stop

    var dispatchQueue: DispatchQueue?
    var dispatchWorkItem: DispatchWorkItem?
    
    func someOnClickButtonStart() {
        self.dispatchQueue = DispatchQueue.global(qos: .background) // create queue
        self.dispatchWorkItem = DispatchWorkItem { // create work item
            // async code goes here
        }
        if self.dispatchWorkItem != nil {
            self.dispatchQueue?.asyncAfter(
                deadline: .now() + .seconds(1),
                execute: self.dispatchWorkItem!
            ) // schedule work item
        }
    }
    
    func someOnClickButtonCancel() {
       if let dispatchWorkItem = self.dispatchWorkItem {
            dispatchWorkItem.cancel() // cancel work item
        }
    }
    

提交回复
热议问题