1

感谢您的出色工作。

最近我们处于深度开发过程中,我们刚刚迁移到领域最新版本,从 0.98.1 到 1.0.1。

问题之一是我们的迁移看起来像这样:

if (oldSchemaVersion < 2) {
        [migration enumerateObjects:MyClass.className block:^(RLMObject *oldObject, RLMObject *newObject) {
            newObject[@"property"] = [newObject linkingObjectsOfClass:@"OwnerClass" forProperty:@"myClassInstances"].firstObject;
        }];
}

分别OwnerClass有这个:

@property RLMArray<MyClass> *myClassInstances;

并且MyClass有这个:

@property OwnerClass *instance;

所以知道,据我所知,我们应该保持MyClass原样,但改变OwnerClass而不是旧的: @property (readonly) RLMLinkingObjects<MyClass *> *myClassInstances;

在我们这样做之后,迁移块应该是什么样子?我真的很难理解新结构的外观......感谢任何帮助。

4

1 回答 1

2

声明类型的属性时,RLMLinkingObjects无需在迁移块中包含与它相关的任何内容。

于 2016-07-13T14:35:03.273 回答