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

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

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

iOYES

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

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 12월 26일 오전 12:21

 • 

저장 7조회 1,709

댓글 0

    함께 읽은 게시물

    MCP 모르면 대체 얼마나 손해 보는 걸까?🤔

    ... 더 보기

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

    요즘IT

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

    스스로 생각하는 힘

    

    ... 더 보기

    테드(TED) 강의장에 황소가 등장했다. <생각의 공유> 저자 리오르 조레프는 청중에게 황소 무게를 예측해 보라고 제안한다. 그러자 140㎏에서 3t까지 다양한 오답이 쏟아졌다.

    ... 더 보기

    왜 공동체에 집단 지성이 필요한가?

    기호일보 - 아침을 여는 신문

    왜 공동체에 집단 지성이 필요한가?



    Replit 이용 후기

    최근 Replit를 사용하면서 느낀 점을 남겨봅니다.

    ... 더 보기