2010-04-25 28 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