0
舊的RLMObject在下面,primaryKey是AttributeId。我想將此鍵更改爲@「Id」next build。領域主鍵遷移 - 目標C
UserItemObject.m
@implementation UserItemObject {
}
+ (NSString *)primaryKey; {
return @"AttributeId";
}
@end
UserItemObject.h
@interface UserItemObject : RLMObject
@property(nonatomic, copy) NSString *Id;
@property(nonatomic, copy) NSString *AttributeId;
@end
RLM_ARRAY_TYPE(UserItemObject)
然後我寫了一些代碼,AppDelegate中;
[RLMRealm setSchemaVersion:1 forRealmAtPath:[RLMRealm defaultRealmPath] withMigrationBlock:^(RLMMigration *migration, NSUInteger oldSchemaVersion) {
if (oldSchemaVersion < 1) {
[migration enumerateObjects: UserItemObject.className block:^(RLMObject *oldObject, RLMObject *newObject) {
newObject[ @"primaryKeyProperty" ] = @"Id";
}];
}
}];
此代碼給我一個錯誤;
*** Terminating app due to uncaught exception 'RLMException', reason: 'Invalid property name'
我該如何解決這個問題?非常感謝。
您是否嘗試過給它不是'Id'其他不同的名稱?只是爲了試用 - 例如'userID'。也許有一些內部問題的名稱'Id' ... – Michal
我嘗試過,但無法解決:/ – serdaryillar