SwiftUI의 NSHostingController란?

June·2023년 6월 8일
0

SwiftUI-macOS

목록 보기
1/2

NSHostingController

  • SwiftUI 프레임워크에서 도입된 클래스
  • SwiftUI앱을 AppKit기반의 macOS앱으로 호스팅하기 위해 사용

SwiftUI는 주로 iOS, iPadOS, watchOS, tvOS에서 사용되는 프레임워크.
NSHostingController를 사용하면 macOS앱을 SwiftUI를 사용해 개발할 수 있음.
즉, NSHostingController는 macOS 어플리케이션 개발에서 SwiftUI와 AppKit의 통합을 가능하게 하여, SwiftUI와 AppKit의 다양한 기능을 함께 활용할 수 있음.



NSViewController 클래스를 상속받음

NSHostingController는 AppKit의 NSViewController 클래스를 상속받음.

  • AppKit의 뷰 컨트롤러와 유사한 기능을 제공
  • SwiftUI 뷰 계층 구조를 AppKit의 뷰 계층 구조와 통합해 호스팅


macOS앱의 주요 뷰 컨트롤러 역할

  • SwiftUI뷰를 포함하는 뷰 계층 구조를 관리
  • 이벤트 처리
  • 뷰 간의 데이터 흐름 조정
  • 앱 라이프사이클 이벤트 처리


SwiftUI 뷰를 AppKit의 NSView로 변환해 표시

이를 위해 NSViewRepresentable 프로토콜을 사용해,
SwiftUI뷰를 AppKit 호환 뷰로 변환하는 커스텀 NSView 생성 가능.



AppKit의 다른 요소와 상호작용하는 인터페이스 제공

예를 들어
AppKit의 컨트롤 요소와 SwiftUI 뷰를 연결하거나,
AppKit의 뷰 컨트롤러와 데이터 주고받기 가능.

profile
안다고 착각하지 말기

0개의 댓글