-
[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' 카테고리의 다른 글
TAG