-3

在我的 iPhone 应用程序中,我需要检查一个实体是否在 Core Data 的上下文中?

我该如何检查这个,有人可以提供一个例子吗?

4

3 回答 3

6

检查managedObjectContext托管对象的属性。

return object.managedObjectContext != nil;
于 2013-07-31T12:34:40.317 回答
4

要检查所有现有实体,您应该使用NSManagedObjectModel如下:

NSArray *allEntities = [yourManagedObjectModel entities];

如果你想检查一个实体是否存在他的名字,你可以拥有所有实体的名字:

NSArray *entityNames = [[yourManagedObjectModel entities] valueForKey:@"name"];
于 2013-07-31T13:12:56.137 回答
0

尝试这个:

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
        {
        }

希望它会有所帮助!

于 2013-07-31T12:50:17.177 回答