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.