0
私は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;
}
はそれが誕生日でそれをソートするために、おそらくですか?または私は月日だけでソートすることができるように私の誕生日をde-normalizeする必要がありますか?どんな入力も大歓迎です。
ありがとうございました
お返事ありがとうございます。誕生日は過去から何年も保存されているので、これはうまくいかないでしょうか?あなたの誕生日が1983年の場合、それは今までに現れませんか? – lostincode
あなたは絶対に正しいです!この場合、NSDateの書式設定が必要です。テーブルビューを使用して今後の誕生日を表示し、セクションでグループ化していますか? – Rog
うん、それはテーブルビューになると私はセクションを把握することができましたが、 "今後の誕生日"で並べ替えることは、年が過去であるという事実のために失われているところです。 – lostincode