我有实体Question
。实体Question
有财产Number
。我需要提取每20个问题:1,21,41,61等。我该怎么做?如何使用核心数据获取每个第n个对象
0
A
回答
5
像往常一样创建NSFetchRequest
以及使用模运算符的NSPredicate
实例。以下未经测试的谓词:
NSPredicate *idPredicate = [NSPredicate predicateWithFormat:@"modulus:by:(Number, 20) == 1"];
将谓词添加到获取请求中,并像往常一样执行提取。
或者创建ID值,其中包括{1, 21, 41, ...}
,使用与谓词的NSSet
:
NSSet *idSet = /* set of NSNumber instances including 1, 21, etc. */
NSPredicate *idPredicate = [NSPredicate predicateWithFormat:@"Number IN %@", idSet];
我没有测试过这一点,但是这两种方式应该让你关门,我想。
0
对于最后一位数字,可能会创建一个带有NSPredicate的搜索掩码。如果您的问题少于100万条,我会提取所有问题并过滤数字,示意图如下:BOOL keepNumber = ((record.Number % 20) == 1)
。一般来说,iPad/iPhone RAM/CPU GHz /核心数据智能正在提高,简单GET的性能成本似乎不太重要,尤其是与更复杂的GET相比,因为Core Data中的搜索谓词仍然必须检查每条记录。
相关问题
- 1. 核心数据 - 使用keypath和对象ID获取对象
- 2. 如何从特定对象ID获取核心数据对象?
- 3. 获取核心数据相关对象
- 4. 获取从核心数据对象与10个日期最快
- 5. 如何从核心数据中仅提取前20个对象
- 6. 使用clistview显示每个第n个数据的数据
- 7. 获取核心数据对象的子对象的属性?
- 8. 使用特定对象而不是对象属性获取核心数据
- 9. 如何在Swift中使用核心数据从多个表中获取数据?
- 10. 核心数据不取对象
- 11. 如何使用PHP获取JSON对象中的第n个项目?
- 12. 使用NSPredicate遍历多个核心数据对象
- 13. 获取对象数组中每个对象的每个值
- 14. 获取jQuery选择数组的第n个对象
- 15. 核心数据迁移 - 如何只填写一个新对象?
- 16. 如何一次删除多个核心数据对象?
- 17. 获取数组中的每个第n个项目
- 18. 使用BeautifulSoup获取第n个元素
- 19. 从核心数据使UIPickerView对象
- 20. 如何获取第n个最近值?
- 21. 如何使用核心数据构建我的模型对象
- 22. 核心数据获取已删除的对象
- 23. 核心数据获取属性的排名对象
- 24. 核心数据获取最新对象值
- 25. iOS核心数据唯一对象获取
- 26. 目标c - 在view中的核心数据对象获取DidLoad
- 27. 从核心数据中获取对象不在集合中
- 28. 获取超过1000时,核心数据碰撞对象
- 29. 通过核心数据中的属性获取对象
- 30. ASP.NET核心实体框架获取相关数据对象
我相信这是一个很好的答案,亚历克斯!我需要如何将谓词(模数运算符)改为每隔n天取一次?我的数据模式中有DateTime属性,而不是数字,每个属性代表一天(股价)。 – AlexR 2012-07-26 06:22:21