在我的 iPhone 应用程序中,我需要检查一个实体是否在 Core Data 的上下文中?
我该如何检查这个,有人可以提供一个例子吗?
检查managedObjectContext
托管对象的属性。
return object.managedObjectContext != nil;
要检查所有现有实体,您应该使用NSManagedObjectModel
如下:
NSArray *allEntities = [yourManagedObjectModel entities];
如果你想检查一个实体是否存在他的名字,你可以拥有所有实体的名字:
NSArray *entityNames = [[yourManagedObjectModel entities] valueForKey:@"name"];
尝试这个:
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"__YOUR_ENTITY_NAME__" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSError *error = nil;
NSArray *tmpArray = [self.managedObjectContext executeFetchRequest:request error:&error];
if (tmpArray)
{
if (tmpArray.count == 0) //create new Entity
{
//NO EXISTS
}
}
else //else Update/Add info
{
}
希望它会有所帮助!