0
点赞
收藏
分享

微信扫一扫

015_swift_交叉引用和弱引用

茗越 2023-03-16 阅读 28


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? 之后就能正常释放了

 

举报

相关推荐

0 条评论