classPerson{letname:Stringinit(name:String){self.name=nameprintln("\(name) is being initialized")}deinit{println("\(name) is being deinitialized")}}varreference1:Person?varreference2:Person?varreference3:Person?reference1=Person(name:" John Appleseed")// 打印 "John Appleseed is being initialized”reference2=reference1reference3=reference1reference1=nilreference2=nilreference3=nil// 打印 John Appleseed is being deinitialized
classPerson{letname:Stringvarapartment:Apartment?init(name:String){self.name=nameprintln("\(name) is being initialized")}deinit{println("\(name) is being deinitialized")}}classApartment{letnumber:Intinit(number:Int){self.number=number}vartenant:Person?deinit{println("Apartment #\(number) is being deinitialized")}}