看起来我坚持计划我的核心数据模型结构的决定,因为我不太清楚核心数据在我的情况下需要如何工作。现在我有一个实体Customer
和City
. 每个都有一些属性,现在它们之间没有关系。它们都与其他对象有许多关系,因此它们是完全独立的对象。在我的Customer
实体中,我city
有财产(客户所在的城市)。它的值需要与实体中的属性值name
(城市名称)相匹配。City
方案如下所示:
别名对象City
是通过从 web 解析 JSON 文件形成的,现在这部分工作正常。我在 NSManagedObject 子类(从实体生成)中添加了一个方法,用于从实体Customer
中检索名称属性值City
并将其存储在城市属性中:
- (City *)city
{
return (City *)[[PTDataFetchHelper sharedInstance] entityForName:@"City" withServerID:self.city_server_id inContext:[self managedObjectContext]];
}
这在没有关系的情况下工作,但是我的 UITableView(我使用 NSFetchedResultsController 之类的源)开始在这种获取中工作得非常慢。我也明白,使用这个方案我不能同时实现对象Customer
和City
对象的搜索——我只能从一种实体中获取。我发现我可以为这两个创建父实体,但它们在逻辑和结构上是独立的。解决这两个问题的最佳架构方式是什么?任何意见表示赞赏。