사용자가 인쇄 할 이미지를 생성하는 클래스가 있습니다. 이러한 이미지는 QuartzCore (및 일부 UIKit 요소)를 사용하여 생성되며 주 스레드에서 실행해야합니다.인쇄 된 페이지를 생성하는 동안 진행률 막대를 업데이트하십시오.
이미지가 생성되는 동안 사용자가 볼 수있는보기에서 진행률 표시 줄이 있습니다. 이 뷰는 인쇄를 수행하는 클래스의 대리자이며 뷰에서 프린터가 메서드를 호출하여 진행률 막대를 업데이트합니다. 문제는 프린터가 주 스레드를 막히게되어 프린터가 완료 될 때까지 진행률 표시 줄이 눈에 띄게 업데이트되지 않는다는 것입니다. 모든 UI 업데이트가 주 스레드에서 수행되어야하기 때문에 주 스레드에서 진행 표시 줄을 끌 수 없습니다.
저는 멀티 스레딩을 처음 접했습니다. 다른 옵션이 있습니까? 아니면 액티비티 인디케이터 또는 이와 비슷한 옵션을 사용해야합니까?
백그라운드 스레드에서 이미지를 생성하는 것이 안전해야한다. 메인 스레드에서 진행률 표시 줄의 업데이트를 그대로 둡니다. – rmaddy
@rmaddy 만약 당신이 대답했다 upvote 줄. ;) –
@JacobRelkin 완료. – rmaddy