Я создаю свое первое приложение в xcode и пытаясь получить список людей, заказанных в ближайшие дни рождения, используя coreData и NSFetchedResultController. Моя сущность настроена следующим образомCoreData сортировать будущие дни рождения
uBirthdays
--------------
NSString uName
NSDate uBday
Вот мой текущий код:
- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"uBirthdays" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"uBday" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"sectionNameGen" cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
[sort release];
[fetchRequest release];
[theFetchedResultsController release];
return _fetchedResultsController;
}
Является ли это возможно, чтобы разобраться, что к предстоящему дню рождения? или мне придется де-нормализовать мои дни рождения, чтобы я мог сортировать только месяц и день? Любой вход очень приветствуется.
Спасибо
Спасибо за ваш ответ. Поскольку дни рождения хранятся с годами прошлого, не будет ли это работать? Например, если ваш день рождения 1983 года, он никогда не появится? – lostincode 2010-12-06 21:52:25