본문 바로가기

property

(3)
Swift의 인스턴스의 생성과 소멸 •프로퍼티 초기값•이니셜라이저 init - 인스턴스를 생성•디이니셜라이저 deinit - 클래스의 인스턴스가 소멸될 때 호출됨 1. 프로퍼티 초기값 •스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 함 •프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니게 됨 123456789101112131415class PersonA { // 모든 저장 프로퍼티에 기본값 할당 var name: String = "unknown" var age: Int = 0 var nickName: String = "nick"} // 인스턴스 생성let jennie: PersonA = PersonA() // 기본값이 인스턴스가 지녀야 할 값과 맞지 않다면// 생성된 인스..
Swift의 프로퍼티 감시자 1. 프로퍼티 감시자 •프로퍼티 감시자를 사용하면 프로퍼티의 값이 변경될 때 원하는 동작을 수행할 수 있음 •값이 변경되기 직전에 willSet 블럭이, 값이 변경된 직후에 didSet 블럭이 호출됨 •둘 중 필요한 하나만 구현해 주어도 무관 •변경되려는 값이 기존 값과 똑같더라도 프로퍼티 감시자는 항상 동작 •willSet 블럭에서는 암시적 매개변수 newValue를, didSet 블럭에서는 oldValue를 사용할 수 있음 •프로퍼티 감시자는 연산 프로퍼티에는 사용할 수 없음 •프로퍼티 감시자는 함수, 메서드, 클로저, 타입 등의 지역/전역 변수에 모두 사용 가능 2. 정의 및 사용 123456789101112131415161718192021222324252627282930313233343536373..
Swift의 프로퍼티 1. 프로퍼티의 종류 •인스턴스 저장 프로퍼티 •타입 저장 프로퍼티 •인스턴스 연산 프로퍼티 •타입 연산 프로퍼티 •지연 저장 프로퍼티 2. 정의와 사용 •프로퍼티는 구조체, 클래스, 열거형 내부에 구현할 수 있음 •다만 열거형 내부에는 연산 프로퍼티만 구현할 수 있음 •연산 프로퍼티는 var로만 선언할 수 있음 •연산 프로퍼티를 읽기 전용으로는 구현할 수 있지만, 쓰기 전용으로는 구현할 수 없음 •읽기전용으로 구현하려면 get 블럭만 작성해주면 됨. 읽기전용은 get 블럭을 생략할 수 있음 •읽기, 쓰기 모두 가능하게 하려면 get 블럭과 set 블럭을 모두 구현해주면 됨 •set 블럭에서 암시적 매개변수 newValue를 사용할 수 있음 12345678910111213141516171819202122..