大佬教程收集整理的这篇文章主要介绍了objective-c – 如何通过关系进行核心数据查询?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我正在玩DVD数据库.我有两个实体.电影(标题,年份,评级和与演员的关系)和演员(姓名,性别,图片).
获取所有电影很容易.只是:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Winery" inManagedObjectContext:self.managedObjectContext];
通过标题中的“Kill”获取所有电影很简单,我只需添加一个NSPreDicate:
NSPreDicate *preDicate = [NSPreDicate preDicateWithFormat: @"name LIKE[c] "*\"Kill\"*""];
但是Core Data似乎抽象出了托管对象的id字段……那么如何查询作为对象的属性(或:查询关系)?
换句话说,假设我已经拥有了我关注的Actor对象(例如[Object id 1 – ‘Chuck Norris’),那么什么是“给我所有电影主演的谓词格式”[对象id 1 – ‘Chuck Norris的]“?
// ObvIoUsly you should do proper error checking here... but for this example // we'll assume that everything actually exists in the database and returns // exactly what we expect. NSEntityDescription *entity = [NSEntityDescription entityForName:@"Actor" inManagedObjectContext:self.managedObjectContext]; NSPreDicate *preDicate = [NSPreDicate preDicateWithFormat:@"name LIKE[c] 'Chuck Norris'"]; NSFetchrequest *request = [[NSFetchrequest alloc] init]; [request setEntity:entity]; [request setPreDicate:preDicate]; // You need to have imported thE interface for your actor entity somewhere // before here... NSError *error = nil; YourActorObject *chuck = (YourActorObject*) [[self.managedObjectContext executeFetchrequest:request error:&error] objectATindex:0]; // @L_489_17@ just get the set as defined on your actor entity... NSSet *moviesWithChuck = chuck.movies;
以上是大佬教程为你收集整理的objective-c – 如何通过关系进行核心数据查询?全部内容,希望文章能够帮你解决objective-c – 如何通过关系进行核心数据查询?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。