왜 이것이 필요한지 확인하고 싶습니다.dispatch_async 내에서 dispatch_sync
이 코드를 KIImagePager (cocoapod)에 추가하여 앱에 로컬 인 이미지를로드합니다 (기본 코드는 URL에서 이미지를로드합니다). 여기
은 내 작업 코드는 동료가 무엇을 제안 오프 기반으로 :dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
dispatch_sync(dispatch_get_main_queue(), ^{
[imageView setImage:[UIImage imageNamed:[aImageUrls objectAtIndex:i]]];;
});
});
가 나는 내부 dispatch_sync을 가지고가는 경우에, 그것은하지만 내가 원하는 방식으로 (에서 작동하는 것으로 나타났습니다 이미지에 일부 이미지 스크롤을 시작하면 호출기 스크롤보기가 아직로드되지 않았습니다.) 그러나 그들은 결국로드합니다.
제 질문은 이것입니다. 메인 대기열의 동기화 호출이 이미지를 메인 대기열에있는 UI로 다시 가져 옵니까? 두 번째 비동기가 제거 된 상태에서 작동하기 때문입니다.
코드에서 'async'가 아닌'dispatch_sync'입니다. 무엇 이니? – jrturton
죄송합니다. 맞습니다. –
* 해당 코드의 내부 디스패치는 쉽게 'dispatch_async'가 될 수 있습니다. 이는 'dispatch_sync'보다 저렴합니다. – bbum