核心数据 - 忽略了fetchBatchSize

时间:2014-12-16 22:46:43

标签: ios core-data

我正在设置NSFetchedResultsController,在请求上设置批量大小并执行提取。

根据性能,内存使用情况,日志记录(访问实体的属性)和SQL日志记录(不提及SQL查询中的限制),很明显fetchBatchSize被忽略,并且我的所有对象都是取出的)。

可能导致该设置被忽略的原因是什么?

NSFetchRequest *request = [NSFetchRequest new];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:context];
[request setEntity:entity];
[request setSortDescriptors:[[NSSortDescriptor alloc] initWithKey:@"dateCreated" ascending:NO]];
[request setFetchBatchSize:50];

self.fetchController = [[NSFetchedResultsController alloc]
                        initWithFetchRequest:request
                        managedObjectContext:context
                        sectionNameKeyPath:nil
                        cacheName:nil];
NSError *error;
[self.fetchController performFetch:&error];

请注意,如果我在获取之前设置断点,则确实设置了批量大小限制为50的请求;但是SQL日志记录没有提到它。

0 个答案:

没有答案