UIViewControllerRepresentable를 사용했을 때 onChange 이벤트가 들어오지 않는 버그에 대하여

치킨치·2024년 12월 29일
0

오랜만에 개인앱을 업데이트하기로 마음을 먹고 작업을 하고 있다.
구현 목표는 UIKit.UIPageController에서 기존에 가지고 있었던 previous/next 페이징을 가능케 하는 것이었다.
Apple 공식문서를 포함해 많은 개발자들이 [Value]를 이용해서 구현하고 있는 걸 검색을 통해 확인을 했더랬다.
array에 데이터를 미리 로드해두면 다이나믹 페이징을 하는 이점이 사라지게되므로, UIPageController를 래핑해서 사용하기로 결정했다.
하지만 웬걸?
onChange이벤트가 들어오지 않는것이다.
UIViewControllerRepresentable를 사용해 UIKit의 기능을 래핑한다면, 화면을 갱신 또는 이벤트를 받기 위해 로직에서 사용하는 모든 값들의 변화를 업데이트 해줄 필요가 있다는 걸 새롭게 알게됐다.
왜 애플사에서 공식적인 래핑클래스를 만드는 게 느린건지 원인을 찾은 것 같다.
어렵사리 목표는 달성했지만, 다음에 비슷한 구현을 해야할 때가 올 것이므로 순수 SwiftUI 코드로 다이나믹 페이징을 할 수 있는 기술을 확보해야겠다.

profile
풀스텍이었던 iOS개발자

0개의 댓글