“弱属性的一个常见用例是父子数据结构。按照惯例,父对象应该与它的子节点保持强引用,子节点应该将弱引用存储回父节点。弱引用是也是代表设计模式的固有部分。“
问题:
1)为什么孩子可以将弱引用存储回父母?如果他们的父母“消失”怎么办?
2)这里的委托设计模式是指什么?它与弱引用有什么关系?
答案 0 :(得分:1)
对于问题1,如果父项被释放,子项中的弱引用将成为对已释放对象的引用,使用它将导致异常。
避免这种情况的方法是让父母有责任让孩子解除这种情况。孩子永远不会对解除分配的父母有弱的引用,因为当孩子的父母被释放时,孩子会被解除分配。