自动引用计数的工作原理
1.每次创建一个类的新实例时,都会分配一个内存块来存储有关该实例的信息。...,引用计数器减一,
你怎么选择unowned和weak
先看下面的例子
使用unowned
// 学生类
class Student{
unowned var school:School...describe()
结果:
学校对象释放了
分析:
由于school被弱引用,计数器减一,school对象就被释放了,所以我们在调用的时候进行检测,如果对象存在再去执行方法,这样就避免了此类错误...总结:
使用unowned 修饰属性时,必须保证自己的实体独享要比引用的对象先释放
如果循环引用中,弱引用的对象必须为非可选类型,这个时候,就可以考虑使用unowned
实例分析
a.
class...,引用计数没有加1,不用考虑,直接释放自己,释放asHTML 时发现,name 已经被释放了,