您好我有一个从coreData获取数据的函数。这是方法
- (NSArray *)fetchRequestWithEntity:(NSEntityDescription *)entity
predicate:(NSPredicate *)predicate
sort:(NSArray *)sortDescriptors
range:(NSRange)range {
NSError *error = nil;
NSFetchRequest *request = [NSFetchRequest new];
[request setEntity:entity];
if (predicate != nil) {
request.predicate = predicate;
}
if (sortDescriptors) {
request.sortDescriptors = sortDescriptors;
}
if (range.length > 0) {
request.fetchLimit = range.length;
}
if (range.location > 0) {
request.fetchOffset = range.location;
}
request.fetchBatchSize = 15;
NSArray *array = [self executeFetchRequest:request error:&error];
if (!error) {
return array;
}
else {
NSLOG("Error");
return nil;
}
}
程序正在崩溃。
NSArray *array = [self executeFetchRequest:request error:&error];
我检查了方法的所有参数的值,一切似乎都没问题。这是否与方法的“sortDescriptors”参数有关?
这就是我获取NSSortDescriptor的方式
+ (NSArray *)sortDescriptors {
return @[[[NSSortDescriptor alloc] initWithKey:EIKNewsHeadlineAttributeStoryDateTime ascending:NO]];
}
我检查了方法的参数,我有一个有效的实体和sortDescriptor。谓词的值为nil,我的范围是(location = 0和length = 0)。是什么导致了这个问题?