Skip to content

[기술 공유] CALayer 안전하게? 관리하기

00me edited this page Nov 28, 2024 · 1 revision

문제 상황

그림자를 넣는데 CALayer때문에 에러가 계속 났다. 아니, 처음에는 CALayer에러인줄도 몰랐다. 아래 처럼 이상하게 에러가 발생했기 때문이다.

image


문제 해결

그래서 왜 발생하지.. 하면서 이것저것 ViewModel이 문젠가.... 컴바인이 문젠가... 하..... 왜지 하다가 CALayer를 딱 지우니까 오류가 안나서 여기서 뭔가 있다는 것을 느꼈다. (문제 발생 5시간만에)

그래서 removeFromSuperlayer 에서 발생한 것을 알았다.

레이어를 하나만 들고 그것을 계속 재활용하는 방식으로 개선하여 해결했다.


배운 점

CALayer를 조작할때 뷰에서 조작하지 말자…

CALayer에게 뷰에서 내려오라고 조작하자.


참조 링크

Crash when removing layer · Issue #2 · RayJiang16/XYColor

Clone this wiki locally