본문 바로가기
Swift

인스턴스 생성 및 소멸 5편 (함수를 사용한 프로퍼티 기본값 설정)

by 밤새는 탐험가89 2024. 2. 1.
728x90
SMALL

 

 

함수를 사용한 프로퍼티 기본값 설정 

 

사용자 정의 연산을 통해 저장 프로퍼티 기본값을 설정하고자 한다면?

클로저나 함수 사용 가능 

 

 

※ 사용자 정의 연산?

사용자가 원하는 동작을 하는 연산자를 말함 

 

정위 연산자 

// 대표적인 예) 논리 부정 연산자
a = !a

 

중위 연산자 

// 대표적인 예) 기본적인 연산자들
a + b

 

후위 연산자 

// 대표적인 예) 옵셔널 관련 연산자
a?

 

 

 

인스턴스를 초기화할 때

함수나 클로저가 호출되면서 연산 결과값을

프로퍼티 기본값으로 제공 

반드시 클로저 또는 함수의 반환 타입 = 프로퍼티의 타입

 

 

클로저를 통한 프로퍼티 기본값 설정

class SomeClass {
    let someProperty: SomeType = {
        // 새로운 인스턴스를 생성하고 사용자 정의 연산을 통해 반환
        // 이 때 반환되는 값의 타입은 SomeType과 같은 타입일 것 
        return someValue
    } ()
}

 

클로저 뒤에 소괄호 () 붙은 이유는 클로저를 실행할 목적

클로저 뒤에 소괄호가 붙으면 실행한 결과값이 프로퍼티의 기본값이 됨 

 

 

iOS의 UI 등을 구현할 때 

UI 컴포넌트를 클래스의 프로퍼티로 구현하고, 

UI 컴포넌트의 생성과 동시에 컴포넌트의 프로퍼티를 

기본적으로 설정할 때 유용 함 

 

 

화면에 table을 구성할 때 

HomeViewController 클래스 내에 timeTableView 라는 프로퍼티를 

클로저로 구성함 

class HomeViewController: UIViewController {

    private let timeTableView: UITableView = {
        let tableView = UITableView()
        return tableView
    }()
}

 

 

timaTableView의 타입은 UITableView 이고, 

반환되는 tableView의 타입 역시 UITableView 임

 

728x90
LIST