2016-11-29 3 views
-1

1 분 이상 걸리는 기능이 있습니다. 사용자가 아무 것도하지 않을 때마다이 기능이 실행되기를 원하지만 사용자가 상호 작용을하면 기능이 중지되고 사용자가 정상적으로 상호 작용을 할 수 있습니다.Swift : 사용자가 앱을 사용하는 동안 무언가를로드하는 함수를 만드는 방법은 무엇입니까?

나는 이것에 대해 어떻게 생각하는지 또는 가능한지 전혀 모른다.

(1 분이 걸리는 함수는 격자 주위에 무작위 경로를 만들고 하나가 작동 할 때까지 거짓 경로를 계속 만듭니다. 가장 효과적인 것은 아니지만 다시 쓰려고 시도했지만 할 수 없습니다.)

+0

완성 처리기를 이해하려면 기본적으로 ** 비동기 ** 인 completionhandler에 대한 [이 아주 좋은 설명] (http://stackoverflow.com/a/40811710/5175709)의 설명을 읽으십시오. (EDIT가 충분하기 전에 읽음). Stackoverflow를 검색하면 비동기에 대한 많은 질문을 받게됩니다. – Honey

+0

이 질문은 연구가 부족함을 보여줍니다. 그것은 매우 가능하며, 다른 의견/답변은 그에 따라 답변해야합니다. – Sethmr

답변

4

이이 사용자 아직 응용 프로그램을 사용할 수 있습니다 동안 백그라운드에서 물건을 어떻게 사용이

DispatchQueue.global(qos: .background).async { 
    // Background execution 
    DispatchQueue.main.async { 
     // UI Update 
    } 
} 

스위프트 3에

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    // Background execution 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     // UI Update 
    }); 
}); 

목표 C입니다. NSOperationQueue처럼이 작업을 수행하는 다른 방법이 있지만 위임자와 완료 핸들러를 초보자 용으로 사용할 수도 있지만 가장 쉬운 방법입니다.