Core Data执行SQL加入请求的方式

时间:2014-07-21 16:41:04

标签: ios sql objective-c core-data

我正在尝试实现简单的库存类型数据库。我在玩家的宇宙飞船上有一个设备列表,每个设备都可以处于激活/停用状态。 问题是我想将设备规范的数据保存在名为DeviceData的独立实体中,因此Core Data方案将如下所示: a busy cat http://rghost.ru/57018961/image.png

我正在使用此请求获取数据:

NSFetchRequest *fetchRequest = [[NSFetchRequest fetchRequestWithEntityName:@"SpaceshipDevice"] init];
fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"deviceData.deviceName" ascending:NO]];
fetchRequest.fetchBatchSize = 20;

NSFetchedResultsController *frc = [[NSFetchedResultsController alloc]
                                   initWithFetchRequest:fetchRequest
                                   managedObjectContext:self.managedObjectContext
                                   sectionNameKeyPath:@"deviceData.deviceType"
                                   cacheName:nil];
frc.delegate = self;
self.fetchedResultsController = frc;

我关注的是DeviceData中的“实例”关系,其唯一目的是与SpaceshipDevice实体的“deviceData”关系相反。这让我觉得有些不对劲。有没有更好的方法呢?

在SQL中,此请求将如下所示:

a busy cat http://rghost.ru/57019185/image.png

0 个答案:

没有答案