私の場合、コアデータがどのように機能する必要があるかを十分に理解していないため、コアデータモデル構造を計画する決定に行き詰まっているようです。これで、エンティティCustomer
とCity
. それぞれにいくつかのプロパティがあり、現在それらの間に関係はありません。どちらも他のオブジェクトと多くの関係を持っているため、完全に独立した種類のオブジェクトです。私のCustomer
エンティティには、city
プロパティがあります(顧客がいる都市はどこですか)。その値は、エンティティのプロパティname
(都市の名前) の値と一致する必要があります。City
スキームは次のようになります。
エイリアスとなるオブジェクトCity
は、Web から JSON ファイルを解析することによって形成され、この部分が正常に機能するようになりました。NSManagedObject サブクラス (エンティティから生成) にメソッドを追加して、エンティティCustomer
から name プロパティの値を取得しCity
、city プロパティに格納します。
- (City *)city
{
return (City *)[[PTDataFetchHelper sharedInstance] entityForName:@"City" withServerID:self.city_server_id inContext:[self managedObjectContext]];
}
これは関係なしで機能しますが、私の UITableView (ソースのように NSFetchedResultsController を使用しています) は、この種のフェッチで恐ろしく遅く動作し始めます。また、このスキームを使用すると、オブジェクトCustomer
とCity
オブジェクトの両方による検索を実装できないことも理解しています.1種類のエンティティからしかフェッチできません。この 2 つの親エンティティを作成できることがわかりましたが、論理的および構造的に独立しています。この 2 つの問題を解決するための最適なアーキテクチャの方法は何ですか? コメントをお待ちしております。