如何取消设置 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 查询返回 nil