Swift 编程:协议与协议扩展的深入探索
类实例的初始化与反初始化
在 Swift 编程中,我们常常需要处理类实例的初始化和反初始化。以下代码展示了如何对 MyClass5 和 MyClass6 类的实例进行初始化和反初始化操作:
var class5: MyClass5? = MyClass5(name: "Class5")
var class6: MyClass6? = MyClass6(name: "Class6")
class5?.class6 = class6
class6?.class5 = class5
print("Classes going out of scope ")
在上述代码里,我们创建了 MyClass5 和 MyClass6 的实例,并将它们的属性相互指向对方,这就形成了一个依赖循环。不过,由于我们把 MyClass6 类的 class5 属性设置为弱引用,所以不会产生强引用,这样两个实例就能被正常释放。
运行这段代码,会得到如下输出,表明 MyClass5 和 MyClass6 实例都被释放,内存也被释放:
Initializing class5 with name Class5
Initializing class6 wi
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



