기어가더라도 제대로

[SwiftUI-기초] View 에 Sturct를 쓰는 이유(+ View의 뒤에는?) 본문

SwiftUI - 기초

[SwiftUI-기초] View 에 Sturct를 쓰는 이유(+ View의 뒤에는?)

Damagucci-juice 2022. 10. 13. 22:50

1. 성능상의 이유

  • Class라고 하면 상속간에 받는 모든 속성과 프로퍼티가 UIView 마다 상속됨
    • UILabel, UIButton, 등 생각해보면 많은 것들이 UIView나 UIControl로 부터 상속받는다.
    • UIView 의 경우 합이 약 200개의 속성과 메서드를 물려받는다. 
  • Struct는 보이는 코드가 전부임
    • View가 Struct 인 이유임

2. 변수를 깔끔하게 변경하기 위해

  • Class 는 인스턴스가 let으로 선언되어 있어도 내부 프로퍼티가 var면 변경 가능
  • struct는 인스턴스가 let으로 선언되어 있다면 내부 프로퍼티가 var여도 변경 불가능
  • 시스템 사용중에 상태 변경이 가능한 프로퍼티를 @State로 선언해서 변경가능성을 열어줌 

3. View 의 뒤에는 뭐가 있을까? 

  • "아무것도 없다. " 라고 생각
  • 실제로는 UIHostingContorller가 bridge로 UIKit에 연결되어있는데 없다고 생각하자. 
Comments