swift中析构器例子

class Shape {
    var numberOfSides: Int = 0
    let numberOfPoint = 3
    var name:String
    init(name:String) {
        self.name = name
        print("init called")
    }
    deinit {
        print("deinit called")
        numberOfSides = 0
    }
    func simpleDescription() -> String {
        return "a shape with \(numberOfSides) sides"
    }

    func simplePoint(point:Int) -> Int {
        return point
    }
}
    var nameShape : Shape? = Shape(name: "张三")
        print("numberOfSides:\(nameShape!.numberOfSides)")
        nameShape = nil

// 打印结果:
init called
numberOfSides:0
deinit called

只有等nameShape是可选的切赋值为nil时,才会调用deinit.

猜你喜欢

转载自blog.csdn.net/u012581760/article/details/80333320
今日推荐