美文网首页
Swift学习笔记-析构过程

Swift学习笔记-析构过程

作者: 女粉丝 | 来源:发表于2018-05-27 16:39 被阅读0次

    析构器只适用于类类型,当一个类的实例被释放前,析构器会被立即调用(类似delloc?)。析构器用关键字deinit。

    析构过程原理

    在类的定义中,每个类最多只能有一个析构器,而且析构器不带任何参数。
    析构过程类似于delloc。

    class Bank {
        static var coinsInBank = 10_000
        
        static func distribute(coins numberOfCoinsRequest:Int) -> Int {
            
            let numberOfCoinsToVend = min(numberOfCoinsRequest, coinsInBank)
            
            coinsInBank -= numberOfCoinsToVend
            
            return numberOfCoinsToVend
        }
        
        static func receive (coin:Int) {
            coinsInBank += coin
        }
    }
    
    class Player {
        var coinsInPurse : Int
        
        init(coins:Int) {
            coinsInPurse = Bank.distribute(coins: coins)
        }
        
        func wins(coins:Int) {
            coinsInPurse += Bank.distribute(coins: coins)
        }
        
        deinit {
            Bank.receive(coin: coinsInPurse)
        }
    }
    

    相关文章

      网友评论

          本文标题:Swift学习笔记-析构过程

          本文链接:https://www.haomeiwen.com/subject/qmubjftx.html