重构领域从linkingObjectsOfClass迁移到RLMLinkingObjects

时间:2016-07-13 10:48:26

标签: ios realm realm-migration

感谢您的出色工作。

最近我们处于深度开发过程中,我们刚刚转移到了最新版本,从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;

在我们这样做之后,迁移块应该如何看待? 我真的很难理解新结构应该如何看待...... 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

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

相关问题