В настоящее время у меня есть объект «Тема», определенный в моей системе как:
@interface Topic : NSManagedObject
{
}
@property (nonatomic, retain) NSString * path;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * topicID;
@property (nonatomic, retain) NSNumber * parent;
@end
Я хочу получить тему с определенным номером (например, 4001), используя NSFetchedResultsController. Я определил мой как:
- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Topic" inManagedObjectContext:_context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"topicID == 4100"];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"path" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:_context sectionNameKeyPath:nil cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
[fetchRequest release];
[theFetchedResultsController release];
return _fetchedResultsController;
}
.. Без предиката FetchedResultsController работает нормально ... однако, как только я его добавляю, возникает ошибка, и приложение вылетает ... Может кто-нибудь сказать, если я неправильно определил свой NSPredicate?