3

我从服务器得到一些对象,它是一个 json 字符串。我想使用此字符串中的键和值创建实体。

所以我使用这种方法来创建使用 Magical Records 的实体

Entity *entity = [Entity createEntity];

我有每个实体的 id,所以我是否需要创建一些条件来检查代码中的 id 是否已经存在某些实体,或者在核心数据数据模型中是否有替代方法,如 SQL(主键等)?

4

2 回答 2

2

我相信在你创建之后,你会想要使用实体。

- (Entity*)createEntity:(NSString*)id{

Entity * entity = [Entity MR_findFirstByAttribute:@"id" withValue:id];
if(! entity){
    Entity * newEntity = [Entity MR_createEntity];
    [newEntity setId:id];

    entity = newEntity
}

return entity

}

于 2014-08-07T20:50:15.733 回答
1

作为一种可能的选择,您可以使用谓词找出存在多少实体。例如:

NSUInteger numberOfEntities = [Entity countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"entityIdAttributeName == %@", entityId]];
if(numberOfEntities == 0) {
    Entity *entity = [Entity createEntity];
}
于 2013-11-05T15:30:51.083 回答