有没有办法从Core Data商店中选择固定数量的随机条目?我刚刚开始使用Core Data,并且已经坚持了很长一段时间。
作为最后的手段,我可以在内存中查询大量条目,然后随机选择固定数字。
另外,有没有办法指定要在Core Data存储上执行的自定义SQL语句?我意识到这很不可能,因为商店的底层实现也可能是XML文件。
答案 0 :(得分:2)
[[[managedObjectsContext registeredObjects] allObjects] objectsAtIndex:r]
其中r是0和对象数减1之间的随机int?根本没有效率,但又快捷方便。
编辑:如果您想在所选对象之间选择随机对象,请创建描述对象选择的获取请求,并使用查询结果执行与上述相同的操作:
[[[managedObjectsContext executeFetchRequest:request error:&error] objectAtIndex:r]
答案 1 :(得分:0)
关于你的第二个问题,这是核心数据的一个要点,要抽象出底层数据存储。使用NSPredicate和NSExpressions构建获取请求,或者在数据模型中存储获取请求是查询商店的唯一方法。
答案 2 :(得分:0)
不确定,但我认为Core Data会为您提供数据到NSSets。所以你可以使用 - [NSSet anyObject]。我没有测试那个或任何东西。