iOS/Swift

인스턴스 생성 및 소멸 6편 (인스턴스 소멸)

밤새는 탐험가89 2024. 2. 2. 05:40

 

인스턴스 소멸

 

클래스의 인스턴스가 메모리에서 해제(소멸) 되기 직전

호출 되는 메소드가 

디이니셜라이저 

 

 

"deinit" 키워드 사용

 

 

★ 디이니셜라이저는 클래스의 인스턴스에서만 구현 ★

 

 

스위프트에서는 인스턴스가 필요하지 않는다면 

자동으로 소멸시킴 

 

이 때 디이니셜라이저를 통해 별도로 전달할 내용이나, 

저장해야 하거나 할 경우, 부가 작업을 지정해줄 수 있음

 

클래스에는 디이니셜라이저를 1개만 구현 가능 

 

매개변수를 갖지 않고

소괄호도 적어주지 않음

 

 

디이니셜라이저 구현

class SomeClass {

    deinit {
        print("deinit")
    }
}

var someInstance: SomeClass? = SomeClass()

someInstance = nil   // deinit