소소한개발팁
반응형
article thumbnail
(Swift) 15. Optional Chaining (옵셔널 체이닝)
컴퓨터 언어/Swift 2021. 12. 15. 17:36

Optional Chaining - 옵셔널 체이닝은 nil 일 수도 있는 프로퍼티나, 메서드 그리고 서브 스크립트에 질의를 하는 과정을 말합니다. 만약 옵셔널이 프로퍼티나 메서드 혹은 서브 스크립트에 대한 값을 갖고 있다면 그 값을 반환하고 만약 값이 nil이면 nil을 반환합니다. 여러 질의를 연결해서 할 수도 있는데, 연결된 질의에서 어느 하나라도 nil이면 전체 결과는 nil이 됩니다. - Swift에서 옵셔널 체이닝은 Objective-C에서의 nil 메시징과 유사합니다. 차이점은 Swift에서는 옵셔널 체이닝은 reference type뿐만 아니라 primitive타입에서 사용도 가능하고 값을 가져오는 데 성공했는지 실패했는지 확인할 수 있습니다. Optional Chaining as an Al..

article thumbnail
(Swift) 14. Deinitialization (초기화 해지)
컴퓨터 언어/Swift 2021. 12. 15. 00:09

Deinitialization Deinitialization 은 초기자(Initializer)와 반대로 클래스 인스턴스가 소멸되기 직전에 호출됩니다. 초기자는 선언 키워드로 init를 사용하는데 Deinitialization는 선언을 위해 deinit 키워드를 사용합니다. Deinitialization는 오직 클래스 타입에서만 사용 가능합니다. How Deinitilization Works - 일반적으로 Swift가 자원의 해제를 자동으로 알아서 해주는데, 열었던 파일을 사용이 끝나고 닫는 것 같이 사용자가 자원 해지를 위해 수동으로 작업해야 하는 경우도 있습니다. 이럴 때 사용하는 것이 Deinitialization입니다. Deinitialization는 클래스당 오직 하나만 선언할 수 있고 파라미터를..

article thumbnail
(Swift) 13. Initialization (초기화)
컴퓨터 언어/Swift 2021. 12. 14. 20:49

Initialization - 초기화는 클래스, 구조체, 열거형 인스턴스를 사용하기 위해 준비 작업을 하는 단계입니다. 이 단계에서 각 저장 프로퍼티의 초기 값을 설정합니다. 초기화 과정은 initializer를 정의하는 것으로 구현할 수 있습니다. Swift의 initializer는 값을 반환하지 않습니다. 초기화와 반대로 여러 값과 자원의 해지를 위해 deinitializer를 사용합니다. Setting Initial Values for Stored Properties - 인스턴스의 저장 프로퍼티는 사용하기 전에 반드시 특정 값으로 초기화돼야 합니다. 이 값으로 기본 값을 설정할 수 있고, 특정 값을 설정할 수도 있습니다. - initializer에서 저장 프로퍼티에 값을 직접 설정하면 프로퍼티 옵서..

article thumbnail
(Swift) 12. Inheritance (상속)
컴퓨터 언어/Swift 2021. 12. 13. 22:44

Inheritance - 클래스는 메서드, 프로퍼티와 다른 특징을 다른 클래스로부터 상속할 수 있습니다. 이것이 Swift에서 클래스가 다른 타입과 구분되는 근본적인 요소입니다. 클래스에서는 저장된 프로퍼티와 계산된 프로퍼티와 상관없이 상속받은 프로퍼티에 프로퍼티 옵서버를 설정해서 값 설정에 반응할 수 있습니다. Defining a Base Class - 다른 어떤 클래스로부터도 상속받지 않은 클래스를 기반 클래스라 합니다. - Objective-C에서는 모든 클래스가 NSObject클래스로부터 파생된 클래스로 생성되는 것과 다르게 Swift 에서는 SuperClass 지정 없이 클래스 선언이 가능하고 그 클래스가 SuperClass 가 됩니다. - 이에 대한 예시입니다. class Vehicle { v..

article thumbnail
(Swift) 11. Subscripts (서브스크립트)
컴퓨터 언어/Swift 2021. 12. 13. 22:18

Subscripts - 클래스, 구조체 그리고 열거형에서 스크립트를 정의해 사용할 수 있습니다. 서브 스크립트란 컬렉션, 리스트, 시퀀스 등 집합의 특정 멤버 엘리먼트에 간단하게 접근할 수 있는 문법입니다. 서브 스크립트를 이용하면 추가적인 메서드 없이 특정 값을 할당하거나 가져올 수 있습니다. 예를 들면, 배열(Array) 인스턴스의 특정 엘리먼트는 someArray[index]someArray [index] 문법으로, Dictionary 인스턴스의 특정 엘리먼트는 someDictionary[key]someDictionary [key]로 접근할 수 있습니다. 하나의 타입에 여러 서브 스크립트를 정의할 수 있고 오버로드도 가능합니다. 뿐만 아니라 단일 인자 값을 넘어, 필요 따라 복수 인자 값을 사용할 ..

article thumbnail
(Swift) 10. Methods (메소드)
컴퓨터 언어/Swift 2021. 12. 11. 21:59

Methods - 특정 타입의 클래스, 구조체, 열거형과 관련된 함수를 메서드라 합니다. - 특정 타입의 인스턴스에서 실행할 수 있는 메서드를 인스턴스 메서드, 특정 형과 관련된 메서드를 타입 메서드 - Swift에서는 클래스 타입뿐만 아니라 구조체, 열거형에서도 메서드를 선언해 사용할 수 있습니다. Instance Methods - 인스턴스 메서드는 특정 클래스, 구조체, 열거형의 인스턴스에 속한 메서드입니다. 인스턴스 내의 값을 제어하거나 변경할 수 있습니다. 인스턴스 메서드는 이름 그대로 그 인스턴스가 속한 특정 타입의 인스턴스에서만 실행 가능합니다. 아래는 이에 대한 예시입니다. class Counter { var count = 0 func increment() { count += 1 } func..

반응형