2010-04-25 52 views
0

我有一個核心數據模型與兩個表(膳食和成分)。我正嘗試用多種成分保存一餐。我有下面的代碼循環通過一系列的成分。我試圖挽救它,但我無法重新聲明下面的「實體」。我該怎麼做?我試過釋放它,但那不起作用!謝謝你的幫助。iphone核心數據循環數組,並保存每個

for (x=0;x<ingredients;x++) { 
    NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"Ingredient" inManagedObjectContext:managedObjectContext]; 
    entity.name = @"test"; 
} 

(此方法不執行節能工作的一個記錄圈外的..所以這不是問題)

回答

3

你不插入實體爲背景。您可以將管理對象插入到上下文中。

你應該是這樣的:

NSManagedObject *myMO; 
for (x=0;x<ingredients;x++) { 
    myMo = [NSEntityDescription insertNewObjectForEntityForName:@"Ingredient" inManagedObjectContext:managedObjectContext]; 
    [myMO setValue:@"test" forKey:@"name"]; 
} 

當然,如果有你可以直接設置「名稱」屬性的NSManagedObject子類。

重要的是不要將實體與NSManagedObject實例或其子類混淆。實體只是對象在被管理對象上下文的對象圖中如何相互關聯的描述。上下文使用實體描述來確定所有實際實例如何相互關聯以及如何提取和存儲它們。

+0

謝謝。做了一個美食和一個很好的解釋。非常感謝 – 2010-04-26 07:35:41