Property Wrappers @something은 다 프로퍼티 래퍼이다. 각 Property Wrapper는 구조체이며 이는 'template'동작을 캡슐화한다. 예를 들어 @State는 변수가 힙에 살도록 하고 @Published는 변경이 있을 때 publish 하도록 하고 @ObservedObject는 published 변경이 감지되면 뷰를 다시 그리도록 하고 Property Wrapper는 이 구조체들을 생성하고 사용하기 쉽게 해준다. Property Wrapper 안 쓰면 아래처럼 사용해야 한다. Property Wrapper를 사용하기 위해 구조체를 만들고 그에 맞게 구현해줘야 한다. 또한 Property Wrapper안에 또 다른 변수가 존재하는데 projectedValue이다. 이 pro..
앱을 유지할 수 있는 여러 가지 방법 - FileManager - CoreData - CloudKit - UserDefault 오늘 사용할 유저디폴트를 살펴본다. 유저 디폴트를 사용하기 위해서 인스턴스가 필요하다. let defualts = UserDefaults.standard 데이터 저장하는 방법 defaults.set(object, forKey: “SomeKey”) 여기서 object는 property list여야 한다. (Bool, Int, Double, String 등) 데이터 추출하는 방법 let i: Int = defaults.integer(forKey: “MyInteger”) let d: Data? = defaults.data(forKey: “MyData”) let a = array(for..
@State 뷰 안에서 완전히 로컬라이즈 된 것. 얼럿 띄우기, 편집, 애니메이션과 같은 일시적인 상태에만 사용한다. View 구조체는 (read - only) 읽기 전용이다. 예로 SwiftUI가 모든 뷰를 유지하는 데 사용하는 변수는 let! 이다. let이면 immutable 하기 때문에 아무도 변경할 수 없으니까 어지럽힐 수도 없다. 또한 뷰 생성 시 초기화되는 변수 외에는 변수가 있는 것이 소용이 없다. 읽기 전용이거나 계산된 변수만 의미가 있다. 뷰는 대부분 "stateless"이어야 하며 모델을 그리는 역할을 한다. 그래서 대부분 뷰는 어떤 상태가 필요하지 않기 때문에 읽기 전용이다. 영구적인 상태는 모델에 속하고 일시적인 상태를 사용할 때 State를 사용한다. @State private ..
접근제어자 접근제어자는 접근에 대한 권한을 지정하는 것. 다른 곳에서 접근할 필요가 없으면 private키워드를 붙여준다. private(set) 키워드를 작성해 get만 가능하도록 할 수 있다. private(set) var cards: Array MemoryGame 모델에 cards변수에 private(set)을 지정해 뷰모델에서 접근만 가능하도록 한다. // MARK: - Access to the model var cards: Array { return model.cards } @ViewBuilder some View를 리턴하는 모든 곳에는 해당 키워드@ViewBuilder를 넣을 수 있다. Content는 뷰 리스트로 해석하고 하나로 결합한다. 여기서 하나의 뷰는 (2개에서 10개의 뷰) Tupl..
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..
- Total
- Today
- Yesterday
- 딥러닝
- RX
- ios
- Algorithm
- swiftUI
- 알고리즘
- objc
- 스위프트UI
- wwdc
- 스위프트
- 머신러닝
- ReactiveX
- 애니메이션
- 독서
- leetcode
- Animation
- 책
- 책 추천
- string
- stanford SwiftUI
- swift5
- rxswift
- Xcode
- objective-c
- Deep learning
- iOS SwiftUI
- SWIFT
- ARC
- 책 후기
- 문자열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |