14. 초기화 해제(deinitialization)
초기화 해제 구문은 클래스 인스턴스가 할당 해제되기 전에 즉시 호출된다. 초기화 구문은 init 키워드로 작성하는 것과 유사하게 초기화 해제는 deinit 키워드로 작성한다. 이는 클래스 타입에서만 사용한다.
초기화 해제 동작
- 스위프트는 더 이상 필요하지 않은 경우 자원의 확보를 위해서 인스턴스를 자동으로 할당 해제한다. 스위프트 자동 참조 카운팅(Automatic Reference Counting)에서 설명되어 있듯이, 이를 통해 인스턴스 메모리를 관리한다.
deinit {
//작동 동작 정의
}
// 다음과 같이 deinit키워드를 통해서 초기화 해제 구문을 정의할 수 있다.
class Player {
var coinsInPurse : Int
init(coins : Int) {
coinsInPurse = Bank.distribute(coins: coins)
}
func win(coins : Int) {
coinsInPurse += Bank.distribute(coins : coins)
}
deinit {
Bank.receive(coins : coinsInPurse)
}
}
//다음과 같이 클래스의 초기화 해제시의 동작을 메서드로 표현해서 명시할 수 잇따.
Author And Source
이 문제에 관하여(14. 초기화 해제(deinitialization)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@devleeky16498/15.-초기화-해제deinitialization
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
deinit {
//작동 동작 정의
}
// 다음과 같이 deinit키워드를 통해서 초기화 해제 구문을 정의할 수 있다.
class Player {
var coinsInPurse : Int
init(coins : Int) {
coinsInPurse = Bank.distribute(coins: coins)
}
func win(coins : Int) {
coinsInPurse += Bank.distribute(coins : coins)
}
deinit {
Bank.receive(coins : coinsInPurse)
}
}
//다음과 같이 클래스의 초기화 해제시의 동작을 메서드로 표현해서 명시할 수 잇따.
Author And Source
이 문제에 관하여(14. 초기화 해제(deinitialization)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@devleeky16498/15.-초기화-해제deinitialization저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)