我遇到了这个问题,当我想更新领域对象中的值时,uuid被选为我的主键,如下所示
@implementation RLMFMCGProductForm
+ (NSString *)primaryKey
{
return @"uuid";
}
@end
我使用此代码更新值:
RLMRealm *realm = [RLMRealm defaultRealm];
NSLog(@"}}}}}}}}}}} %@", form.uuid);
@try {
[realm beginWriteTransaction];
form.uuid = @"test";
[realm addOrUpdateObject:form]; // [realm addOrUpdateObject:employeeInfo];
[realm commitWriteTransaction];
}
@catch (NSException *exception) {
NSLog(@"exception");
if ([realm inWriteTransaction]) {
[realm cancelWriteTransaction];
}
}
值应为6,但每次我尝试更新数字增加到12,18,24(添加新对象未更新)...并且uuid始终打印NULL虽然我正在更新值要“测试”并在使用try / catch处理错误之前,错误是:无法将主键更新为现有值“test”,我在这里做错了什么?是主键设置不正确还是更新方法?