我最近一直在阅读关于聚合和组合的内容,以及组合基本上是一种关系,而聚合则不是。聚合似乎更像是一个熟人。我了解你,但我没有你。
与此同时,我一直在学习Objective-c内存管理以及强弱关键词。强大的是创建对象将拥有新变量而弱则不会。
那么,我能否得出结论:强和弱直接用于确定变量是复合变量还是聚合变量?
感谢
答案 0 :(得分:1)
强弱用于确定变量 将是一个复合变量或集合变量?
恰恰相反。查看实现,您可以获得设计的线索,但设计决定了实现,因为它是一个更高级别的概念。
聚合和组合是两种遏制关系:
聚合是部分关系,而部分可能是独立存在的。也就是说,它们的存在与容器的寿命无关,因此您使用不暗示所有权的弱引用来引用这些部分。
合成是一种拥有或拥有一种关系,因此您使用强引用来暗示所有权。一旦容器被销毁,部件也将被销毁。
弱和强是用于内存管理的ARC的所有权限定符: