티스토리 뷰

Storyboard vs SwiftUI

하나는 Styboard, 하나는 SwiftUI를 적용한 프로젝트 구조입니다. 기존의 ViewController 대신 ContentView가 들어있고, Main.storyboard 대신 Preview Content가 들어있네요. 하나씩 봅시다.

AppDelegate는 iOS 12 이전까지 사용하던 라이프싸이클 매니저인데, iOS 13부터 SceneDelegate가 등장하면서 하나의 앱이 여러 scene을 통해 별도의 앱처럼 구동될 수 있게 되었습니다.

Storyboard

SwiftUI

두 이미지 모두 SceneDelegate인데 위 이미지는 Storyboard 방식으로, 아래 이미지는 SwiftUI 방식으로 만들어졌습니다. SwiftUI의 내용이 더 풍성하죠?

ViewController와 ContentView를 비교해볼까요?

ViewController는 UIViewController를 상속받는 클래스로, ContentView는 View를 구현한 구조체로 되어있네요. 아시다시피 UIViewController는 UIKit의 클래스고, View는 SwiftUI의 프로토콜이네요!. 아래의 PreviewProvider 프로토콜을 구현하는 ContentView_Previews도 있는데 previews로 ContentView를 호출하고 있네요.

이렇게 오른쪽 스토리보드+시뮬레이터처럼 생긴 화면을 보여주는 친구인가 봅니다.

Info.plist는 동일할 줄 알았는데 하나가 차이나더라고요. 뭘까요? Main stroyboard file base name입니다. SwiftUI에는 스토리보드가 없어서 해상 키가 있을 필요가 없겠죠. 그래서 Info.plist의 키가 스토리보드에는 15개, SwiftUI에는 14개입니다. 나머지는 동일해요.

'iOS:Swift > Swift' 카테고리의 다른 글

ARKit — 1 프로젝트 만들기  (0) 2020.06.25
navigation control  (0) 2019.07.16
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday