Class - Deinitialization

Eli·2021년 2월 7일
1

Swift

목록 보기
12/17
post-thumbnail

initialization이 초기화 전에 실행이 되었다면 deinitialization은 메모리에서 해제 되기 전에 실행이 된다.

보통은 View 코드를 다루면 LifeCycle 코드에 맞춰 진행하면서 잘 사용하지 않게 되는 듯 한다.
ex) ViewWillDeisappear 등..

Syntax

class SomeClass {
		deinit() {
			//해제시점에 작동
		}
}

Example

class Player {
    var coinsInPurse: Int
    
    init(coins: Int) {
        coinsInPurse = coins
    }
    
    func win(coins: Int) {
        coinsInPurse += coins
    }
    
    deinit {
				//2. 해제시점에 실행되 게임을 끝낸뒤 돈을 보여준다.
        print("잔액: " + String(coinsInPurse))
    }
}

var playerOne: Player? = Player(coins: 3000)
playerOne?.win(coins: 4000)

//1. playerOne에 nil을 할당하면서 기존인스턴스가 해제된다.
playerOne = nil

#학습에 대한 내용으로 틀린 내용이 있을 수 있습니다.
#댓글로 남겨주시면 더 좋은 게시글로 수정하도록 하겠습니다.

profile
애플을 좋아한다. 그래서 iOS 개발을 한다. @Kurly

0개의 댓글