1

我有一个问题,我不记得大约半年前在尝试 Voyage 时遇到过。

在我的模式中,一个User有一个instVar引用他所属的所有Centers ,并且一个Center有一个instVar引用其所有Users,所以当 Voyage 序列化程序尝试序列化一个用户(或一个中心)时,它会进入无限循环试图找到参考链的末端和图像堵塞。

我记得不久前保存完全相同的模式没有问题,有什么新的我应该知道的吗?

顺便说一句,我正在使用#bleedingEdge版本,以及 Magritte3 和所有版本。

谢谢!:)

4

1 回答 1

1

我试图重现您的问题,并且在我的示例中运行良好。我所做的是这样的:

你有一颗星星,它有行星,在它的时间点指向拥有者的星星。

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

所以......我不知道你的错误在哪里:(

于 2013-06-11T11:20:00.750 回答