2016-10-01 2 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()