구조체와 클래스의 인스턴스를 무수히 반복하여 처리한다고 했을 때 구조체가 성능면에서 더 우세하다는 건 알고 있을 것이다. 그렇다면 mutating function 이 자주 사용되는 Struct라면 어떨까?!
"이건 정말 웹앱스럽다." 아이폰에서 앱을 사용하면서 이런 생각하신적이 있으신가요? 그 이유는 여러가지가 있겠지만 특히나 웹앱스러운 점이 하나 있습니다. SafeArea 부분(아이폰X부터 나온 노치부분)을 활용하지 못한다는 점입니다.
맵을 보여주면서 간략히 위치를 설정하는 페이지가 있습니다.맵뷰가 있는 해당 화면은 지도의 축소/확대, 위치이동 등의 인터렉션이 필요없는 화면이었습니다.그렇기 때문에 메모리 50Mb 나 항상 잡아먹는 맵뷰는 배보다 배꼽이 더 큰 상황입니다.
WWDC21에서 SwiftUI의 List뷰의 성능&애니메이션 최적화에 관한 내용이 있었습니다.그 내용 중에서 리스트뷰 셀 재사용 최적화 및 애니메이션 변경점에 관해서 알아보겠습니다.
해당 실험은 WWDC2018 iOS Memory Deep Dive 내용이 참고 되었습니다
먼저 Equatable , Comparable, Hashable 에 대해 간단히 알아봅시다.