如何取消设置 NSFetchRequest 的 fetchLimit?

Posted

技术标签:

【中文标题】如何取消设置 NSFetchRequest 的 fetchLimit?【英文标题】:How to unset NSFetchRequest's fetchLimit? 【发布时间】:2017-09-17 21:49:04 【问题描述】:

Cocoa 的NSFetchRequest fetchLimit 属性的documentation 表示:

获取限制指定请求在执行时应返回的最大对象数。

如果设置了获取限制,框架会尽最大努力提高效率,但不能保证。

但是,如果已经设置了获取限制,它并没有告诉您如何取消请求应返回的最大对象数。

在我的NSFetchRequest 上之前使用fetchLimit 限制对象数量之后,如何返回无限数量的匹配对象?

【问题讨论】:

【参考方案1】:

通过一些快速测试,当 NSFetchRequest 被实例化时,fetchLimit 的默认值为 0,将值设置为 0 以外的值然后再设置为 0 不会限制返回的结果。

因此,从 Swift 4 开始,将 fetchLimit 设置为 0 以返回无限的结果。

【讨论】:

遗憾地在文档中丢失了,但我认为将获取请求限制为零项是没有意义的。

以上是关于如何取消设置 NSFetchRequest 的 fetchLimit?的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个 NSFetchRequest 中获取核心数据关系?

嵌套 NSFetchRequest?

特定月份和年份的 NSFetchRequest [重复]

设置一对多关系后,NSFetchRequest 查询返回 nil

将 NSPredicate 设置为 NSFetchRequest 后 executeFetchRequest 崩溃

在 NSFetchRequest 上设置 2 个 NSPredicates