发布对象已添加到Core Data?

时间:2010-07-12 13:49:52

标签: objective-c core-data

我正在使用Core Data将大量数据导入我的应用程序,如下所示:

for (int i = 0; i < [items count]; i++) 
{
    Client *entity = (Client*) [NSEntityDescription insertNewObjectForEntityForName:@"Client" inManagedObjectContext:managedObjectContext];
    [entity setCompanyName:[[items objectAtIndex:i] objectForKey:@"CompanyName"]];
    //* bunch of other fields

    NSError *error;

    if (![managedObjectContext save:&error]) {
        // Handle the error.
        NSLog(@"%@",error);
    }   
}

我需要在这里发布什么?我应该做[实体发布]吗?

1 个答案:

答案 0 :(得分:4)

正如文件所说:

  

<强> insertNewObjectForEntityForName:inManagedObjectContext:
  尽管方法名称中存在“new”一词,但在引用计数环境中,您不负责释放返回的对象。

所以答案是否定的,你不需要发布entity变量。

注意这是标准。使用便捷方法时,按照约定自动释放返回的实例,因此您不需要关心它们,除非您明确地保留它们,当然。