从多个实体获取数据,它们之间没有任何关系

时间:2014-05-05 10:03:20

标签: ios objective-c core-data ios7

我必须从与iPhone App的不同屏幕相关联的多个实体中获取数据,现在的情况如下,当用户按下同步按钮时,我将不得不从所有这些实体获取数据(我大约有12个)实体)并通过Web服务将所有这些数据发送到服务器,并且所有这些实体之间没有任何关系,现在我的问题是如何在单个方法中编写12个不同的获取请求,这是执行此任务的最佳方法,或者是否有其他一些更好的方法,如果任何人可以指导一些教程链接,我将非常感激,提前。

1 个答案:

答案 0 :(得分:1)

您可以使用for循环来完成这样的任务。我已经使用此代码删除了数据库的所有条目。

NSArray *allEntities = [[[[UIApplication sharedApplication] delegate] managedObjectModel] entities];
NSError *error;
for (NSEntityDescription *entityDescription in allEntities)
{
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    [fetchRequest setEntity:entityDescription];

    fetchRequest.includesPropertyValues = NO;
    fetchRequest.includesSubentities = NO;

    NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];

    if (error) {
        NSLog(@"Error requesting items from Core Data: %@", [error localizedDescription]);
    }

    //Do whatever you need to do here
}