我发现自己陷入了一个小难题。 我有可能在两个兄弟级别对象之间创建循环依赖关系。我希望两者都留在记忆中,而且两个实例都不比另一个更重要/更重要。我是否应该随意使一方的指针变弱,另一方强大,或者我可以让双方都变弱?
假设你有一个像这样的结构的对象模型......
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的引用,反之亦然。
如何指定属性属性(弱/强)以使这些属性相互引用?
由于
答案 0 :(得分:2)
据推测,ADatabaseTable
强烈引用了fields
数组和values
数组。
普通NSArray
保留对其元素的强引用,因此您已经不必担心数组中的元素会消失。
所以你可以让信息和价值相互弱化。