deinitとは?
deinitはメモリの解放を意図的に行う際にクリーンアップ処理を行なってくれる。
以下が用途である。
class Cafes {
var cafes = [String]()
init(cafes: [String]){
self.cafes = cafes
}
deinit{
print("deinit is called here")
}
func printCafes(){
for cafe in cafes {
print(cafe)
}
}
}
var cafes: Cafes? = Cafes(cafes: ["Saint Marc", "Starbucks", "Tullys", "Dotour"])
cafes?.printCafes()
cafes = nil
///以下がプリントされる
///Saint Marc
///Starbucks
///Tullys
///Dotour
///deinit is called here