看起來像我堅持計劃我的核心數據模型結構的決定,因爲我不明白核心數據如何在我的情況下需要工作。現在我有一個實體Customer
和City
。現在,它們中的每個都沒有特性,也沒有它們之間的關係。它們與其他對象都有很多關係,因此它們是完全獨立的對象。在我的Customer
實體中,我有city
財產(在哪個城市客戶所在地)。在City
實體的價值需要匹配name
(城市的名字)的價值。 Scheme如下所示:核心數據模型規劃
City
是別名的對象是通過解析Web上的JSON文件形成的,現在這部分工作正常。我在NSManagedObject子類(從實體產生)中添加了一種Customer
從City
實體檢索name屬性值,並將其存儲在城市性質:
- (City *)city
{
return (City *)[[PTDataFetchHelper sharedInstance] entityForName:@"City" withServerID:self.city_server_id inContext:[self managedObjectContext]];
}
這個工作沒有關係,但我的UITableView(我使用NSFetchedResultsController像這樣的來源)開始工作非常緩慢,這種提取。我也明白,使用這種方案我不能實現同時搜索Customer
和City
對象 - 我只能從一種實體中獲取。我發現我可以爲這兩個創建父實體,但它們在邏輯和結構上都是獨立的。解決這兩個問題最好的架構方式是什麼? 任何意見讚賞。
NSBum,你是絕對正確的,不需要在這裏避免關係。這只是我之前程序員的代碼,我需要修復它。 Docs告訴我們,我們可以獲取的不僅僅是一個實體的屬性,還包括來自任何地方的使用關係和謂詞的一切屬性,這可以解決我的兩個問題。感謝幫助! – Alex
如果你想保持同樣的架構沒有關係,你可以通過讓'city' getter從'City'對象獲取一次城市名稱來獲得更好的性能 – FluffulousChimp
我沒有必要保持原始數據模型,所以我將實現實體之間的關係。再次感謝! – Alex