SwiftUI로 인터페이스를 설정하고 프로젝트를 생성해봅니다. 이전에 보지 못했던 SceneDelegate파일이 생겼습니다. SceneDelegate에는 AppDelegate에 있었던 라이프 사이클에 관한 메서드가 존재합니다. 새로운 scene메서드를 살펴보겠습니다. 이 메서드 내에서 window contents를 제공해주는 SwiftUI 뷰를 생성합니다. UIHostingController는 SwiftUI 뷰 contentView를 위해 view controller를 만듭니다. UIHostingController를 통해 기존에 있던 앱에 SwiftUI 뷰들을 통합할 수 있게 해 줍니다. 또한 인터페이스를 SwiftUI로 설정하여 프로젝트를 생성하면 스토리보드나 뷰 컨트롤러가 존재하지 않습니다. 대신에 ..
SwiftUI로 개발하려면 아래와 같은 조건이 만족되어야 합니다. 먼저 macOS Mojave (10.14.4)이거나 이후에 나온 것이어야 합니다. 맥에서 사용하고 있는 OS가 무엇인지 확인합니다. 확인하는 방법은 좌측 상단에 있는 애플 로고를 눌러주고 이 맥에 관하여 메뉴를 누르면 macOS을 확인할 수 있습니다. support.apple.com/ko-kr/HT201260 Xcode11이거나 이후에 나온 것이어야 합니다. 확인하는 방법은 Xcode를 실행하고 좌측 상단에 있는 Xcode메뉴를 눌러주고 About Xcode를 누르면 버전을 확인할 수 있습니다.
SwiftUI에서 스택은 3가지 종류가 있습니다. 3가지 종류는 VStack, HStack, ZStack입니다. VStack 먼저 VStack을 살펴보겠습니다. 공식 문서를 살펴보면 VStack은 Gneric Structure이며, 자식들을 수직으로 배열하는 뷰입니다. ContentView의 body에 VStack을 추가하겠습니다. VStack에는 Text가 두 개 들어가 있습니다. Hello, World1 그리고 Hello World2가 수직으로 나열됩니다. HStack 다음은 HStack을 살펴보겠습니다. 공식 문서를 살펴보면 HStack은 Gneric Structure이며, 자식들을 수평으로 배열하는 뷰입니다. ContentView의 body에 HStack을 추가하겠습니다. HStack에는 Text..
SwiftUI에서 뷰 라이프 사이클 이벤트는 onApeear, onDissapear를 통해서 반응한다. SwiftUI는 UIKit의 같게 viewDidAppear( )과 viewDidDisappear( ) 대신대신 onappear( )그리고 ondisapppear( )를 가진다. VStack에 onAppear( ) 메소드를 작성해주면, VStack이 나타날 때마다 메소드가 호출되어 appear :)이 출력될 것이다. 실행을 시켜본다. appear :)이 잘 출력되는 것을 확인할 수 있다.
스위프트UI를 학습하다가 갑자기 궁금해진 버전별 사용량 알다시피 스위프트UI는 iOS13부터 지원된다. 버전별 사용량 확인하는 곳은 앱스토어의 지원이다. 2020년 1월 27일에 앱스토어에서 측정한 수치는 아래와 같다. 얼마나 사용하는지 궁금했는데 77%나 사용한다니 그리고 현재는 4월이니 몇 달 사이에 또 증가했겠지... iOS13을 사용하는 비율은 계속 증가할 것 같다. (사용 가능한 모델은 iPhone 11 - iPhone SE까지다) 아직까진 계속 UIKit로 개발하고 있지만 언젠가 UIKit에서 SwiftUI로 갈아타는 시기가 오겠지? 🤪 https://developer.apple.com/kr/support/app-store/ App Store - 지원 - Apple Developer App S..
프로젝트를 생성할 때 User Interface를 SwiftUI로 지정하면 ContentView가 생성됩니다. ContentView.swift를 살펴보면 View를 상속받은 ContentView구조체가 있습니다. 앱이 시작되면, 윈도우는 ContentView.swift에 정의된 ContentView의 인스턴스를 보여줍니다. 그리고 아래에는 PreviewProvider을 상속받은 ContentView_Previews구조체가 있습니다. PreviewProvider은 엑스코드에서 뷰 미리보기를 제공하는 타입 프로토콜입니다. 만약에 이 코드가 없다면 당연히 캔버에는 아무것도 나타나지 않습니다. 디폴트로 제공하는 프리뷰 구조체를 수정해보면 더 나은 프리뷰를 이용할 수 있습니다. 다크 모드로 사용하려면 아래와 같이..
WWDC 2019에서 Introducting Combine에 대해서 발표가 나왔다. https://developer.apple.com/videos/play/wwdc2019/722 Combine 프레임워크는 시간에 지남에 따라 값을 처리하기 위한 선언적인 스위프트 API를 제공한다. Combine의 특징 - Generic - Type safe - Composition first - Request driven Combine은 이와 같은 비동기적인 인터페이스들에 사용하면 편리하다 - Target / Action - Notification center - URLSession - Key-value observing - Ad-hoc callbacks Combine에는 Publisher, Subscriber, Ope..
- Total
- Today
- Yesterday
- SWIFT
- 독서
- ReactiveX
- rxswift
- string
- 알고리즘
- swiftUI
- objc
- 책 후기
- RX
- 머신러닝
- 문자열
- Animation
- 딥러닝
- 애니메이션
- 스위프트
- iOS SwiftUI
- 책 추천
- 스위프트UI
- stanford SwiftUI
- ARC
- ios
- 책
- leetcode
- swift5
- Deep learning
- objective-c
- Algorithm
- wwdc
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |