0

方式1:

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:managedObjectContext];

方式2:

NSFetchRequest* fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Event"];

在方式 1 中,需要一个托管对象上下文,但在方式 2 中不需要。任何人都可以澄清这两者之间的区别吗?尤其是在表演上。谢谢!

4

1 回答 1

1

不同之处在于,在您的第二个选项中,用于将提供的实体字符串解析为实际实体的上下文是在上下文中执行请求时获取的,executeFetchRequest:error:而在您的第一个选项中,您自己解析实体。

如果您使用共享同一模型的多个商店,则应在每次执行提取时设置请求的实体(如果您使用不同的商店),以便获得您请求的结果。

于 2013-04-22T06:37:58.757 回答