我需要你的帮助,因为我无法理解这一点。我在iOS中使用Mantle和CoreData。在核心数据中使用地幔 - NSSet和NSArray
我有看定义的关系如下:
后1:N评论
当我拉离我的REST服务的数据,我创建了在它有评论的NSMutableArray的地幔对象帖子。这工作完美无瑕。
然后我将它存储在核心数据中,这是我不知道我是否正确做事的地方。
[MTLManagedObjectAdapter managedObjectFromModel:post insertingIntoContext:[self getManagedObjectContext] error:&error];
所以我这样做来存储我的帖子对象到核心数据。核心数据模型有一个叫做“post_has_comments”的关系,这是一个级联的一对多关系。因此,在对象Post上我有“posts_has_comments” - >级联,在我的对象上“评论”我与“Nullify”有一对一的关系。
Afaik,Core Data将此视为NSSet。但是我试图放入的是一个NSMutableArray,因为Mantle会处理这个问题(至少这是在源代码中快速查看的内容)。
不幸的是,当我得到的对象从核心数据回来
Post* post = [MTLManagedObjectAdapter modelOfClass:Post.class fromManagedObject:[[self fetchedResultsController] objectAtIndexPath:indexPath] error:nil];
后对象的属性评论是空的NSSet,和我在事先插入的东西得到相当一些错误。我得到的错误:
Core Data: annotation: repairing missing delete propagation for to-many relationship post_has_comments on object [...]
我被卡住了 - 也许我错过了一些巨大的东西吗?
我的职务类实现下列静态方法:
+ (NSDictionary *)managedObjectKeysByPropertyKey {
return @{
@"post_id" : @"id",
@"comments" : @"post_has_comments"
};
}
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"post_id" : @"id",
};
}
+ (NSDictionary *)relationshipModelClassesByPropertyKey {
return @{
@"comments" : IHComment.class
};
}
你解决了这个问题吗? – onmyway133
对此有何更新? –
您可以查看我对答案的回复 - 但是,我不知道这是如何适用今天,因为这是两年前现在。 – Elysium