我會簡化這一點。我是Core Data的新手,我在想我缺少技術性。所以請裸露我設置核心數據關係重用相同的對象刪除以前的關係
我從一個Web服務導入數據,在這樣的數據我有一個類樹。
例如:
餐廳
- 意大利
- 墨西哥
- 牛排
在我的模型中,我設置了一個名爲ParentCategory的關係,它帶有一個名爲Subcategories的反向關係。目前爲止,一切都很好。
現在,當我輸入我的類別我做這樣的事情:(注:我的代碼不會這個樣子我已經改變了它舉例說明我的問題)
NSEntityDescription *categoryEntity = [NSEntityDescription entityForName:@"Categories" inManagedObjectContext:context];
NSDescription *parentCategory = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context]
//Then I actually set some values for parentCategory.
//Then create the subcategories.
NSDescription *italianDescription = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context];
[italianDescription objectForKey:@"Italian" forKey:@"name"];
//Set the relationship
[italianDescription objectForKey:parentCategory forKey:@"ParentCategory"];
//All this works great but then when
NSEntityDescription *mexicanDescription = [NSEntityDescription insertNewObjectForEntityForName:[categoryEntity name] inManagedObjectContext:context];
[mexicanDescription objectForKey:@"Mexican" forKey:@"name"];
[mexicanDescription objectForKey:parentCategory forKey:@"ParentCategory"];
好像當最後一行代碼運行它將從「italianDescription」中刪除關係,因此在保存我的上下文後,它會顯示它沒有父類別。我從我的Web服務中刪除了一些數據,只有最後一個我設置父類別對象X的關係的子類別保留了它。以前的所有將會失去它。
我檢查了蘋果開發者文檔,它並沒有真正的幫助。話雖如此,我該如何克服這一點?或者什麼是一種有效的方式來與關係進口。
謝謝你的時間。
請添加到您的問題 - 您的類別實體的定義,以及您的實際代碼。 – Perception