2009-09-16 21 views
0

我在我的核心數據模型中推廣了一些名爲A,B,C的實體讓我們假設其中A是一個超類B和C的子類。如何以編程方式在覈心數據中創建超級/子類?

A不是抽象的,所以如果我創建一個A NSManagedObject,我需要創建並關聯一個B或C子類對象。我如何做到這一點?我可以創建實體,但是如何告訴模型對象B是對象A的子類(反之亦然?)

注意:我確實以編程方式創建了模型,並且已經爲實體描述正確設置了子實例「一個」。

這是我前進的可悲嘗試。有任何想法嗎?獎勵積分,如果你可以指示我做一個代碼樣本來完成這項工作。謝謝。

NSEntityDescription *aEntity = [[model entitiesByName] objectForKey:@"A"]; 
NSEntityDescription *bEntity = [[model entitiesByName] objectForKey:@"B"]; 

A *newA = [[A alloc] initWithEntity:aEntity insertIntoManagedObjectContext:context]; 
B *newB = [[B alloc] initWithEntity:ATC_Entity insertIntoManagedObjectContext:context]; 

回答

0

得益於cocoadev組回答我的問題herehere

基本上你只是將子實體插入到你的模型中,超自然會奇蹟般地彈出存在。如果您繼承NSManagedObjects,則需要聲明您想要訪問的任何屬性。

相關問題