ios – 更新Realm中的对象

前端之家收集整理的这篇文章主要介绍了ios – 更新Realm中的对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我究竟如何更新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";
}];

猜你在找的iOS相关文章