-
[iOS/디버그일지] UIPageViewController의 setPage에서 크래쉬 발생 (*** Assertion failure in -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600..앱등이에게 살충제를 뿌린다./iOS 2018. 2. 9. 16:14
setViewControllers([viewController], direction: .forward, animated: true, completion: { [weak self] (_) in
self?.someUIMethod()
})
음.. 크래쉬 발생함
*** Assertion failure in -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3600.9.1/_UIQueuingScrollView.m:377
원인은 setViewControllers의 completion 클로져가 메인 스레드에서 수행된다는 보장이 없음.
setViewControllers([viewController], direction: .forward, animated: true, completion: { [weak self] (_) in
DispatchQueue.main.async {
self?.someUIMethod()
}
})
메인 스레드에서 실행해주면 크래쉬 안남 :)
'앱등이에게 살충제를 뿌린다. > iOS' 카테고리의 다른 글
CALayer의 position과 anchorPoint의 관계 (0) 2018.08.01 [iOS] iOS12에서는 아이폰 전용앱이 아이패드에서 실행해도 16:9로 실행된다. (0) 2018.06.24 [iOS] Alamofire의 고급 사용법!! SessionManager, SessionDelegate, RequestAdapter, RequestRetrier (2) 2018.01.16 [iOS] 사용자 동의 없이 사용자의 위치를 파악하기 (0) 2017.10.12 [iOS-Rich Push] Notification Service Extension, Notification Content Extension을 알아보자. (푸쉬에 이미지 넣기) (0) 2017.08.31