我有一个问题,我不记得大约半年前在尝试 Voyage 时遇到过。
在我的模式中,一个User有一个instVar引用他所属的所有Centers ,并且一个Center有一个instVar引用其所有Users,所以当 Voyage 序列化程序尝试序列化一个用户(或一个中心)时,它会进入无限循环试图找到参考链的末端和图像堵塞。
我记得不久前保存完全相同的模式没有问题,有什么新的我应该知道的吗?
顺便说一句,我正在使用#bleedingEdge版本,以及 Magritte3 和所有版本。
谢谢!:)
我有一个问题,我不记得大约半年前在尝试 Voyage 时遇到过。
在我的模式中,一个User有一个instVar引用他所属的所有Centers ,并且一个Center有一个instVar引用其所有Users,所以当 Voyage 序列化程序尝试序列化一个用户(或一个中心)时,它会进入无限循环试图找到参考链的末端和图像堵塞。
我记得不久前保存完全相同的模式没有问题,有什么新的我应该知道的吗?
顺便说一句,我正在使用#bleedingEdge版本,以及 Magritte3 和所有版本。
谢谢!:)
我试图重现您的问题,并且在我的示例中运行良好。我所做的是这样的:
你有一颗星星,它有行星,在它的时间点指向拥有者的星星。
Star new
name: 'Sun';
position: 10@12;
addPlanet: (Planet new
name: 'Earth';
orbit: 3;
yourself);
save
两种可能的组合都对我有用:
Star class>>#isVoyageRoot
^ true
Planet class>>#isVoyageRoot
^ true
和:
Star class>>#isVoyageRoot
^ true
Planet class>>#isVoyageRoot
^ false
所以......我不知道你的错误在哪里:(