我究竟如何更新Realm中的对象?似乎无法找到编辑/更新对象的任何内容.有任何想法吗?谢谢
解决方法
这是
the documentation on updating objects in Realm.
这是另一个更新对象的选项,而不是其他答案中讨论的对象.
很多时候,当我想更新对象时,我只需要更新一个或两个属性,一个令人烦恼的关于Realm的事情就是需要将一个持久化对象的属性更改包装在一个写入事务中,所以我通常会添加一个包装器我的对象清理界面的方法有点:
@implementation SomeRealmClass - (void)update:(void (^)(SomeRealmClass *instance))updateBlock { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),^{ RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; updateBlock(self); [realm commitWriteTransaction]; }); } @end
这样,我可以像这样更新一个对象:
SomeRealmClass *instance = [[SomeRealmClass allObjects] objectAtIndex:0]; [instance update:^(SomeRealmClass *instance) { instance.foo = @"foo 2"; instance.bar = @"bar 2"; }];