我有一个我试图存档的系统。我需要存储的主要数据是两棵不同的树。我会将其简化为考试
A类 { B *数据 }
B级 { NSString * ParentKeyToATree }
我正在尝试将此数据存档,其中包含A对象的字典和B对象的字典。显然它们是交叉依赖的,我不希望A类被取消归档并且有两个单独的所有交叉引用B对象的实例?如果我首先取消归档B字典,我可以将密钥存储在指针的位置,然后在unarchive上重新填充指针,但这会迫使我通过全局或单例传递对A树的引用。我想避免。干净的这个问题有一个很好的答案吗?我意识到我可以在A树中存储一个密钥并避免这种情况,但这是因为它是速度非常敏感的代码。