我是Core Data的新手。我正在攻击一个大型数据库,因此批处理/错误机制对我来说非常重要。
我理解当使用与UITableView配对的NSFetchedResultsController时这是如何工作的,但如果我没有使用这种配对怎么办,即如果我允许用户顺序浏览详细视图控制器怎么办(类似于Apple的Mail的方式)程序在消息级别执行)?
现在,我将已排序的获取结果加载到NSArray中,并可以根据需要遍历该结果。但是,如果我将获取结果的批量大小限制为20,那么当用户想要导航到对象#21时我该怎么办?
答案 0 :(得分:8)
虽然NSFetchedResultsController旨在与UITableView一起使用,但您仍然可以单独使用它。
创建获取请求时,setLimit确定返回的总对象数。 setBatchSize确定一次有多少个对象无故障。因此,最初,除了检索到的前20个对象之外的所有对象都将作为错误返回。当您访问第21项时,它将获取(无故障)结果集中的另外20个对象。
答案 1 :(得分:3)
您使用fetchOffSet
方法让获取请求在您已经获取的点之后开始下一次批量提取。