感谢您的出色工作。
最近我们处于深度开发过程中,我们刚刚转移到了最新版本,从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;
。
在我们这样做之后,迁移块应该如何看待? 我真的很难理解新结构应该如何看待...... 任何帮助表示赞赏。
答案 0 :(得分:2)
在声明类型RLMLinkingObjects
的属性时,不需要在迁移块中包含与其相关的任何内容。