본문 바로가기

iOS 개발/Swift 문법

(3)
[iOS/Swift] Initializer 정리 (Swift 공식 문서) https://docs.swift.org/swift-book/LanguageGuide/Initialization.html Initialization — The Swift Programming Language (Swift 5.5) Initialization Initialization is the process of preparing an instance of a class, structure, or enumeration for use. This process involves setting an initial value for each stored property on that instance and performing any other setup or initialization t docs.swift.or..
[iOS/Swift] KeyPath KeyPath 프로퍼티를 실제로 불러오거나 정보를 읽지 않은 채로 그 자체를 참조만 할 수 있게 한다. struct Person{ var socialSecurityNumber: String var name: String } let atj = Person(socialSecurityNumber: "13-2432-21", name: "TaeJeong") let nameKeyPath = \Person.name let SSNKeyPath = \Person.socialSecurityNumber print(atj[keyPath: nameKeyPath]) print(atj[keyPath: SSNKeyPath]) KeyPath 활용하기 Identifiable 프로토콜을 사용할 때 객체마다 상이한 identifier 의 ..
[iOS/Swift] Optional type, guard let vs. if let Optional type 어떤 변수가 Optional type 이라면 어떤 값을 가지거나 nil 값을 가질 수 있다. nil 은 값이 없다는 뜻이다. Optional 변수를 사용할 때는 Optional 을 해제한 뒤 사용할 수 있고, 그 값이 nil 인 경우는 해제할 수 없다. 아래의 Optional binding 을 통해 안전하게 옵셔널 값을 해제할 수 있다. Optional binding Optional 표현식을 평가한다. nil 이 아닌 경우 Optional 해제된 값을 저장하고 true 를 반환한다. nil 인 경우 false 를 반환한다. 아래 두 가지 방법이 있다. 1. if let Optional 변수를 평가해 nil 이 아닌 경우 선언된 상수에 값을 저장하고, 기존 Optional 변수는 ..