일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- subject
- IOS
- operator
- nonisolated
- @Binding
- Creating Operators
- Operators
- URL(string:)
- SWIFT
- swift6
- Bug
- init
- init?
- RxCocoa
- graphql
- RFC1738/1808
- @State
- @EnvironmentObject
- typeorm
- nestjs
- NullObject
- RxSwift
- dismiss
- SwiftUI
- Operater
- @Environment
- vim
- NavigationLink
- Xcode
- ios14
- Today
- Total
목록SWIFT (45)
Tunko Development Diary
SwiftUI) Null(nil) Object Pattern 활용하기 SwiftUI에서 Null Object Pattern을 적극 활용해보는 방법을 남겨봅니다. Swift에선 nil Object Pattern 이라고 해야 되나 고민…🤔 실제 사용해보니 너무 유용하고? 옵셔널의 지옥에서 빠져나올 수 있고 특히 데이터모델과 View가 혼연일체? 되어있는 SwiftUI에서는 적극 사용중입니다. 우선 Null Object Pattern이란? Null Object Pattern은 객체 지향 디자인 패턴 중 하나로, 객체가 null일 때의 동작을 처리하는 데 사용됩니다. 이 패턴의 주요 목적은 클라이언트 코드에서 null 검사를 제거하여 코드의 복잡성을 줄이는 것입니다. Null Object Pattern은 클라이..
xcode를 14.2 버전으로 업데이트하고 SwiftUI로 프로젝트를 신규 생성하면 발생하는 오류 입니다. 시뮬레이터 실행시 나타나는 메시지 입니다. 해결방법 xcode 14.2 버전 부터 Info.plist 파일이 프로젝트에 생성되어있지 않고 포함되어있습니다. 즉, 프로젝트 폴더에 Info.plist를 찾을 수 없습니다 ㅎㅎ;; 이후 프로젝트 권한등 설정을 추가하면 Info.plist 파일이 프로젝트에 자동으로 추가됩니다. 아래 순서로 이동합니다. Project Target Info Custom macOS Application Target Properties 키 추가 [Application Scene Manifest] 여기서 해매실 수 있는데 리스트내용중 + 버튼을 누르면 하단에 추가 됩니다. Enab..
swift-evolution/0068-universal-self.md at master · apple/swift-evolution Self 는 원래 자기 자신의 동적 클래스 (dynamic class) 를 가리키는 키워드 입니다. class MyClass { class var name: String { return "unknown name" } func show() { print("My name is \\(MyClass.name)") } } class AnotherClass: MyClass { override class var name: String { return "another name" } } let obj = AnotherClass() obj.show() // "unknown name" 이 상황에..
lazy 는 반드시 var와 함께 쓰여야 합니다. 이유는 기본적으로 lazy로 선언된 변수는 초기에는 값이 존재하지 않습니다. 이후에 값이 생기는것이기에 let으로는 선언될 수 없습니다. lazy는 반드시 데이터 유형(type)을 미리 선언해야 합니다. lazy var value : Int { return 1 }() 위 예제에선 Int 가 type 입니다. struct, class 에서만 사용가능합니다. 연산프로퍼티 (Computed property) 에서는 lazy를 사용할 수 없습니다. lazy는 처음 사용될 때 메모리에 값을 올리고 그 이후부터는 계속해서 메모리에 올라온 값을 사용합니다. 사용할 때마다 값을 연산하여 사용하는 연산프로퍼티에는 사용할 수 없습니다. lazy 와 closure lazy에..
Nil 병합 연산자 (Nil - Coalescing Operator) nil 병합 연산자는 a ?? b 형태를 갖는 연산자 입니다. 옵셔널 a를 벗겨서 unwraps 만약 a가 nil 경우 b를 반환합니다. 이 nil 병합 연산자는 다음 코드의 축약형 입니다. a != nil ? a! : b if a != nil { return a! } else { return b } 출처 : https://jusung.gitbook.io/the-swift-language-guide/language-guide/02-basic-operators#nil-nil-coalescing-operator