反初始化函数
//: Playground - noun: a place where people can play import UIKit //这里是一个反初始化函数操作的例子。 struct Bank { static var coinsInBank = 10_000 func vendCoins(var numberOfCoinsToVend: Int) -> Int { numberOfCoinsToVend = min(numberOfCoinsToVend,coinsInBank) coinsInBank -= numberOfCoinsToVend return numberOfCoinsToVend } func receiveCoins(coins: Int) { coinsInBank += coins } } class Player { var coinsInPurse: Int init(coins: Int) { coinsInPurse = Bank.vendCoins(coins) } func winCoins(coins: Int) { coinsInPurse += Bank.vendCoins(coins) } deinit { Bank.receiveCoins(coinsInPurse) } } var playerOne: Player? = Player(coins: 100) playerOne?.coinsInPurse Bank.coinsInBank playerOne?.winCoins(2_000) playerOne?.coinsInPurse Bank.coinsInBank playerOne = nil Bank.coinsInBank (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |