2016-10-01 112 views
0

塊我已內斯威夫特:如何取消代碼

fun abc(){ 
a({ 
//some processing 
    b({ 
    //some asynchronous work 
    }) 
    }) 
} 

當按鈕被竊聽塊的塊,方法ABC被調用,它通過連接到互聯網做一些任務,需要一些時間。我正在尋找取消前一個塊的方法,如果點擊兩次,則運行當前塊。 請建議

+1

你問撤銷關閉。看看這個,如果你的目標是Swift 3 http://stackoverflow.com/a/39684520/1495682 – Kubba

回答

0

有沒有直接的選擇取消你是塊。只有在塊的主體中​​調用塊時纔會執行塊,並且不執行內部的塊。

在你的情況下,嘗試使用OperationOperationQueue這種方法將爲您提供靈活的解決方案來管理操作執行並提供cancel操作的機會。

小例子:

let operationQueue = OperationQueue.main 
    let operation = Operation() 

    operationQueue.addOperation(operation) 

    //Cancel operation that is executing 
    operation.cancel()