iOS 앱에서 강렬한 데이터 처리를 수행하고 있는데 "취소"UIButton
이 있습니다. 사용자는 취소 버튼을 누를 수 있지만 처리가 너무 늦기 때문에 클릭이 약 10 초간 인식되지 않습니다. 그러나 내 장치에서 홈 버튼을 클릭하면 전화기가 즉시 홈 화면으로 이동합니다.강렬한 데이터 처리로 인해 UI 상호 작용이 수행되지 않습니다.
가정용 버튼이 Apple에 의해 최상위 우선 순위로 프로그래밍되었다고 가정합니다. 앱에서 취소 버튼을 "최우선 순위"로 유지할 수있는 방법이 있습니까? 느린 애니메이션 및 화면 UI 업데이트 및 지연 데이터 처리를 위주로합니까? 나는 이것이 GCD - Dispatch levels과 관련이 있다고 가정하고있다.
데이터 처리 작업에 낮은 우선 순위 ('DISPATCH_QUEUE_PRIORITY_BACKGROUND')를 줄 수 있습니다. –
백그라운드 프로세스를 시작하는 코드와 취소 할 코드를 게시하십시오. UI의 우선 순위를 올릴 수 없습니다 (기본 스레드에서 항상 실행됩니다). –
이미 GCD (또는 비슷한)를 사용하여 처리를 백그라운드에서 진행하고 있습니까? 그렇지 않다면 그렇게하십시오. –