我发现自己陷入了一个小难题。
我有可能在两个同级对象之间创建循环依赖关系。我希望两者都保留在内存中,并且两个实例都不比另一个实例重要。我应该只是任意地使一侧的指针变弱,而另一侧则变强,还是可以让双方都变弱呢?

假设您的对象模型具有这样的结构...

ADatabaseTable
   -(NSArray)fields
       FieldInfo  (field A)
       FieldInfo  (field B)
   -(NSArray)values
       FieldValue (field A - record 1)
       FieldValue (field A - record 2)
       FieldValue (field B - record 1)
       FieldValue (field B - record 2)


...并且您希望FieldValue引用FieldInfo,反之亦然。

您如何指定属性属性(弱/强)以使它们相互引用?

谢谢

最佳答案

假定ADatabaseTablefields数组和values数组有很强的引用。

普通的NSArray对它的元素有很强的引用,因此您不必担心数组中的元素会消失。

因此,您可以使信息和值之间的引用弱。

关于ios - 使用双向弱指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33224332/

10-12 00:15