왜 SwiftUI의 View는 구조체로 정의할까?

왜? 두번째 시리즈로 UIKit에서 뷰는 클래스로 정의하는데 SwiftUI에서는 구조체로 정의하는지에 대해 의구심을 가져봤습니다🤔 클래스와 구조체의 차이를 바탕으로 그 이유들을 찾아볼 수 있었습니다. 우선 크게 두가지에서 파생된다고 보입니다. 첫째, 성능 UIKit의 뷰는 모든 속성값을 상위 클래스로부터 모두 상속받아 사용하던 안하던 들고 있는 반면, SwiftUI의 뷰는 ViewModifier를 사용해 필요한 속성에 대해 사용하고 새로운 뷰를 만들어 줍니다. 즉, 성능적으로 우위를 점할 수 있죠. 둘째, 클린한 상태 유지 UIKit의 뷰는 클래스로 어떤 곳이든 참조할 수 있고 값을 바꿀 수 있습니다. (물론 private하게 해결할 수 있지만 기본적으로는 클래스니까요🥲) 그러다보니 어떻게 참조가 해제 되지 않고 있을지 어디서 변화를 일으킬 지 클린하지 못할 수 있습니다. 반면 SwiftUI의 뷰는 생성하는 그 부분에서만 관리하고 놀아줄 수 있으니 조금 더 손바닥 위에서 컨트롤 하기 쉽다고 생각합니다🙃 왜? 세번째 시리즈는 뭐로 할까요🙏🏻

SwiftUI - View를 구조체로 생성하는 이유

iOYES

SwiftUI - View를 구조체로 생성하는 이유

다음 내용이 궁금하다면?

지금 간편 가입하고 다음 내용을 확인해 보세요!

또는

이미 회원이신가요?

2022년 12월 26일 오전 12:21

 • 

저장 7조회 1,700

댓글 0