2012-11-21 51 views
0

我有一個包含2個數據庫實體的核心數據設置。爲了名字的緣故,我會稱他們爲小學和中學。次要只屬於一個主要(建立關係)。在我的主視圖中,列出了表中的主對象,我檢索它們並將它們放入存儲它的屬性(包括管理對象ID)的PriObject類中。 PriObject然後被添加到一個可變數組(priArray)中,然後用它來填充表中的數據。到目前爲止所有的作品都可以。當我然後點擊行時,我可以記錄PriObject.moID。將核心數據對象傳遞給didSelectRowAtIndexPath上的子視圖

我不知道如何在數據庫中查找該對象,以便我可以添加輔助對象。我不能通過名稱來完成,因爲一些主要名稱可能具有相同名稱。

我需要弄清楚如何從URI或ID中取回對象。我有ID,所以如果需要的話我可以生成URI。

根本找不到我的頭,我找到的任何示例都沒有涵蓋我需要的東西。有什麼選擇?

編輯:我目前正在使用以下所有對象。

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 

NSManagedObjectContext *context = [appDelegate managedObjectContext]; 

NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Primary" 
               inManagedObjectContext:context]; 

NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
[request setEntity:entityDesc]; 

NSError *error; 
NSArray *objects = [context executeFetchRequest:request 
              error:&error]; 


if ([objects count] == 0) { 
    NSLog(@"Nothing found"); 
} else { 
    NSLog(@"Something found"); 
} 

我怎樣才能改變這種對於只使用一個:

ObjectWithID: 

回答

2

調用objectWithID:方法對你NSManagedObjectContext實例檢索實例。

順便說一下,看起來你正在用這個PriObject類讓自己變得更難,它似乎是圍繞着你的NSManagedObject實例的包裝,是嗎?我個人直接使用NSManagedObject子類。

+0

你有一點,但我認爲我的班級將使任何重複的事情更容易做到,即用if語句等切換桌面上的圖像。我可能在所有的誠實中讓自己的生活更難,但自從我覺得它很複雜,我希望儘可能保持每個班級的清潔。我會嘗試使用你的建議代碼,看看那是怎麼回事。 – Designer023