2013-02-02 3 views
0

"uploadImage"라는 메서드가 있습니다. 이 내 방법은 내 서버에 이미지를 업로드합니다. 그러나 다른보기로 돌아 가면 "uploadImage"메서드가 실행되지 않습니다. 완료 될 때까지 "uploadImage"메서드를 항상 실행하고 싶습니다!iOS에서 백그라운드로 메서드를 실행하는 방법

그래서 어떻게 해결할 수 있습니까? 감사합니다.

답변

0

GCD를 사용하여 백그라운드 대기열에이 메소드를 넣을 수 있습니다. NSOperationQue 또는 NSThread에서

https://developer.apple.com/library/mac/documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html

+0

dispatch_async (dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)^{ [자기 uploadImage : PARAMS가] 는 [NSRunLoop currentRunLoop] 실행] 을}); 이 코드를 사용하고 있지만 괜찮지는 않습니다. –

+0

"괜찮습니까?"라는 의미는 무엇입니까? 좀 더 자세한 내용이 좋을 것입니다. NSRunLoop은 무엇을 사용하고 있습니까? Apple Docs : 경고 : "NSRunLoop 클래스는 일반적으로 스레드로부터 안전하지 않으므로 그 메서드는 현재 스레드의 컨텍스트 내에서만 호출되어야합니다. 다른 스레드에서 실행중인 NSRunLoop 개체의 메서드를 절대 호출하면 안됩니다. 그렇게하면 예상치 못한 결과가 발생할 수 있습니다. " – d4Rk

0

이봐, NSOperationQue는 런타임에 결정되는 uploadImages의 번호를 가지고 특히, 요 가서 더 좋은 더 현대적인 방법 가능성이있다.

관련 문제