English 中文(简体)
在核心数据查询中获取Limit 和 flickAffset 的可能问题
原标题:Possible issue with fetchLimit and fetchOffset in a Core Data query

我有一个非常零星的错误, 它包含核心数据查询, 包含 fetchLimit 和 fetchAffset 。 很久之后( 我见过它发生过一次, 另一个测试者也见过一次), 抓取 Affset 似乎被忽略了 。 询问是这样的 :

NSFetchRequest *fetch = [[NSFetchRequest alloc] initWithEntityName:@"MyEntity"];
NSSortDescriptor *dateDescriptor = [[NSSortDescriptor alloc] initWithKey:@"timestamp" ascending:NO];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
[fetch setSortDescriptors:sortDescriptors];

fetch.fetchOffset = 500;
fetch.fetchLimit = 1;

NSError *error = nil;
NSArray *objects = [self.managedObjectContext executeFetchRequest:fetch error:&error];
if (objects.count) {
    MyEntity *objectAtLimit = [objects objectAtIndex:0];
}

这几乎总是按要求返回第501个对象,但在它折断的这两处,它返回了第一个对象。

除非数据库中存在 & gt; 500 行, 否则永远不运行查询。 Im 使用 iOS5 。 受管理的 ObjectCtext 拥有一个主的 QuueConformaticType 。

这似乎与此问题所报告的行为相同: