使用双向弱指针
Using bidirectional weak pointers
我发现自己陷入了一个小难题。
我有一种情况,我可能会在两个同级对象之间创建循环依赖。我希望两者都保留在内存中,并且两个实例都不 more/less 比另一个重要。我应该随意让一侧的指针变弱,另一侧变强,还是我可以让两侧都变弱?
假设您有一个具有如下结构的对象模型...
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,反之亦然。
您将如何指定 属性 属性 (weak/strong) 以使它们相互引用?
谢谢
据推测 ADatabaseTable
对 fields
数组和 values
数组具有强引用。
普通 NSArray
对其元素保留强引用,因此您已经不必担心数组中的元素会消失。
所以你可以让信息和值弱引用。
我发现自己陷入了一个小难题。 我有一种情况,我可能会在两个同级对象之间创建循环依赖。我希望两者都保留在内存中,并且两个实例都不 more/less 比另一个重要。我应该随意让一侧的指针变弱,另一侧变强,还是我可以让两侧都变弱?
假设您有一个具有如下结构的对象模型...
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,反之亦然。
您将如何指定 属性 属性 (weak/strong) 以使它们相互引用?
谢谢
据推测 ADatabaseTable
对 fields
数组和 values
数组具有强引用。
普通 NSArray
对其元素保留强引用,因此您已经不必担心数组中的元素会消失。
所以你可以让信息和值弱引用。