다른 누구에게이 문제가 있습니까? 상황에 따라 시간이 필요하고 때로는 매우 빠르게 실행되는 기능이 있습니다. 이 함수는 새 뷰 컨트롤러가 표시 될 때 호출되어 함수가 실행 중임을 사용자에게 알립니다. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
을 사용하여 새 스레드에서 함수를 실행하는 동시에 새 뷰 컨트롤러 및 작업 표시기 .활동 표시기 기능이 상당히 느려짐
예상대로 작동하지만 특정 순간에 거의 즉시 실행해야하는 특정 경우에는 거의 3 초가 걸립니다. 활동 표시기가 사라지고 내용이 표시되기 전에 그것은 항상 같은 시간 (3 초) 걸릴 상황을 신경 쓰지 않는 것 같다 그러나 내가 메인 스레드에서 그것을 실행하면 제한된 시간이 오래 걸립니다.
당신은 백그라운드 스레드에서 (예 : UIActivityIndicatorView''같은) 어떤 UIKit 클래스를 사용해서는 안/열. UIKit은 대부분 주 스레드 전용입니다. – omz
더 빨리 가고 싶다면'DISPATCH_QUEUE_PRIORITY_LOW'를 사용하지 마십시오. 대신에'DISPATCH_QUEUE_PRIORITY_DEFAULT' 또는'HIGH'를 사용해주세요. 전역 대기열의 주 스레드 성능에 영향을 미치지 않아야합니다 (높음도 포함). 그게 그들이 거기에있는 이유입니다. – amattn
@amattn 예, DEFAULT 또는 HIGH를 시도했지만 작동하지 않았습니다. – flouwer