14.初期化解除(指示)
2661 ワード
クラスインスタンスが割り当て解除される前に、キャンセル初期化構文が呼び出されます.Initキーワードを使用して初期化構文を記述するのと同様に、deinitキーワードを使用して初期化構文を記述解除します.これはクラスタイプでのみ使用されます.
SWIFTでは、不要になったときにインスタンスの割り当てが自動的にキャンセルされ、リソースが確保されます.「自動参照カウント」(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)
}
}
//다음과 같이 클래스의 초기화 해제시의 동작을 메서드로 표현해서 명시할 수 잇따.
Reference
この問題について(14.初期化解除(指示)), 我々は、より多くの情報をここで見つけました https://velog.io/@devleeky16498/15.-초기화-해제deinitializationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol