我是iOS Swift编程的新手。我的应用程序中有大量工作数据(核心数据),我想限制它。我遇到了两个选项fetchBatchSize和fetchOffset。
在官方文档中两者都具有相同的用途
fetchBatchSize 您可以使用此功能来限制您的工作数据集 应用。与fetchLimit结合使用,您可以创建一个子范围 任意结果集。
fetchOffset此属性可用于限制工作集 数据。与fetchLimit结合使用,您可以创建一个 任意结果集。
两者之间有什么区别?
答案 0 :(得分:0)
假设您在核心数据中有以下对象-A,B,C,D,E,F,G
如果您尝试获取所有对象,则会得到[A, B, C, D, E, F, G]
如果将fetchOffset
设置为2,则会得到[C,D,E,F,G],因此它将获取指定的fetchOffset
之后的所有内容。
fetchBatchSize
是为了使Core Data不会一次获取所有对象,可以说在此示例中,您将fetchBatchSize
设置为2,它将获取前两个对象,因此A and B
剩下的就是错误,当您尝试访问C核心数据时,将满足该错误并获得C and D
。
假设您有1000个名称,并且将它们列出在UITableView
中,一次只能显示20个名称,那么将fetchBatchSize
的值设置为比全名显示的值高一点是有意义的,因此,例如,如果用户从不滚动Core Data
,则仅获取前30个对象,而当用户向下滚动Core Data
时,将立即获取下30个对象和下30个对象...