class People{
var name: String
var pet: Pet?
init(name:String){
self.name=name
print("People is initialized")
}
deinit {
print("People is deinitialized")
}
}
class Pet{
var name: String
var master: People?
init(name:String){
self.name=name
print("Pet is initialized")
}
deinit {
print("Pet is deinitalized.")
}
}
var dot=Pet(name: "Pet")
var master=People(name: "People")
dot.master=master
master.pet=dot
master = nil
dot = nil
//当都设置为空后 并没有执行到析构函数
//因为他们 在互相应用 如何解除这种引用呢 在其中的一个声明上面增加 weak var master: People? 之后就能正常释放了