1
實體時,我有以下實體:錯誤插入延伸抽象實體
User
。具有用戶名,郵件等的普通用戶實體ComputerUserWithAI
。與用戶類似,但由應用程序控制。Pick
。包含與Game
的關係,它應該包含一個選擇器。
由於Picker
可以是User
或ComputerUserWithAI
我創建了一個Abstract Entity
稱爲Picker
和我製成User
和ComputerWithAI
延長該Picker
類。 一旦我添加Picker
實體,我製作的Pick
與Picker
實體有關係,稱爲選取器。
一切都很順利,但我無法插入ComputerUserWithAI
到Pick
。我的代碼是這樣的:
ComputerUserWithAI *userWithAI = [NSEntityDescription insertNewObjectForEntityForName:@"ComputerUserWithAI" inManagedObjectContext:ctx];
userWithAI.name = @"DeepBlue";
Pick *pick = [NSEntityDescription insertNewObjectForEntityForName:@"Pick" inManagedObjectContext:ctx];
pick.game = game;
pick.picker = userWithAI;
我得到的錯誤是:
終止應用程序由於未捕獲的異常 「NSInvalidArgumentException」的,理由是:「不能接受的值類型爲 到一個關係:property =「picker」;期望的類型= Picker;給定 type = NSManagedObject;值=(單位: ComputerUserWithAI ...
但是當我做:
pick.picker = [NSEntityDescription insertNewObjectForEntityForName:@"Picker" inManagedObjectContext:ctx];
它的工作
我查了從核心數據生成的類,並且它們擴展摘要。 。實體正確什麼可能是錯誤