gpt4 book ai didi

ios - 在 MOC 中创建实体但不插入它

转载 作者:行者123 更新时间:2023-11-29 02:26:13 26 4
gpt4 key购买 nike

我的实体上有类别,允许我将 JSON 解析为实体:

- (id) populateFromJson: (NSDictionary *) json {
...
}

然后使用 MagicalRecord 我可以做到这一点:

MyEntity *e = [My MR_createInContext:localContext];
[e populateFromJson:json];

然而,在我将其解析为一个实体之后,我需要检查它是否已经存在于主上下文中,即检查重复项。如果它已经存在于主上下文中,我不想将它插入到上下文中,但是我找不到使用 MagicalRecord 创建实体作为上下文的一部分的方法,但不要插入到该上下文中。

即在核心数据中你可以这样做:

MyEntity *e = [[MyEntity alloc] initWithEntity:[NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]] insertIntoManagedObjectContext:nil];

将 nil 传递给要插入的上下文的位置。

然后如果不是重复的,您可以:

[localContext insertObject:e];

我是不是遗漏了什么或者没有办法在 MagicalRecord 中做到这一点?

最佳答案

如果有重复的对象,根本不创建该对象可能更简单。例如,如果您有 JSON 格式的主键,则可以在创建对象之前使用该主键获取对象(当然,您的主键属性必须是您创建的属性)。

关于ios - 在 MOC 中创建实体但不插入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com