У меня есть переходный атрибут titleFirstLetter
в сущности книги:
- (NSString *)titleFirstLetter
{
NSString *tmpValue = nil;
[self willAccessValueForKey:@"titleFirstLetter"];
if ([[self title] length] > 0) {
tmpValue = [[[self title] substringToIndex:1] uppercaseString];
if ([[NSScanner scannerWithString:tmpValue] scanInt:NULL]) { //return # if its a number
tmpValue = @"#";
}
} else { //sanity in case the attribute is not set.
tmpValue = @"";
}
[self didAccessValueForKey:@"titleFirstLetter"];
return tmpValue;
}
и я пытаюсь использовать этот атрибут в качестве имени раздела, но при выполнении:
// Create the sort descriptors array.
NSSortDescriptor *authorDescriptor = [[NSSortDescriptor alloc] initWithKey:@"titleFirstLetter" ascending:YES];
NSSortDescriptor *titleDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:authorDescriptor, titleDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// Create and initialize the fetch results controller.
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"titleFirstLetter" cacheName:nil];
self.fetchedResultsController = aFetchedResultsController;
fetchedResultsController.delegate = self;
Я получаю эту ошибку:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'keypath titleFirstLetter not found in entity <NSSQLEntity Book id=1>'
пожалуйста, помогите!