すばらしい仕事をありがとう。
最近、私たちは深い開発プロセスにあり、0.98.1 から 1.0.1 へのレルムの最新バージョンに移行しました。
問題の 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;
したがって、私が理解しているように、をそのままにしておく必要がありますが、 old の代わりに this: に
MyClass
変更する必要があります。OwnerClass
@property (readonly) RLMLinkingObjects<MyClass *> *myClassInstances;
これを行った後、移行ブロックはどのように見えるでしょうか? 新しい構造がどのように見えるべきかを理解するのに本当に苦労しました...どんな助けにも感謝します。