シナリオ :
経費追跡 iOS アプリケーションがあり、経費詳細ビュー コントローラからの経費を、カテゴリと金額とともに経費のリストを表示するテーブル ビューに保存しています。
テーブルビューの上部には、CALENDAR ボタン、日付を示す UILabel テキスト (例: 2012 年 10 月 23 日 (日))、および側面に 2 つのボタンを備えた UIView があります。カレンダー ボタンを押すと、現在の日付でカスタム カレンダーが開きます。2 つのボタンは、それに応じて日付を減らしたり増やしたりするためのものです。
コア データ エンティティ「経費」の属性である日付に従って経費を保存したいと考えています。
質問: カレンダー ボタンを押して、そこからランダムな日付を選択するとします。その下のテーブル ビューに、その日の特定の費用が表示されます。私が言いたいのは、テーブル ビューに特定の日付の費用だけを表示したいということです。日付をインクリメントまたはデクリメントするボタンを押すと、テーブル ビューにその日の費用が表示されます。費用を節約するために、NSFetchedResultsController と Core Data を使用しています。
これを達成する方法について何か考えはありますか?FRC のコードは次のとおりです。
-(NSFetchedResultsController *)fetchedResultsController
{
if(_fetchedResultsController != nil)
{
return _fetchedResultsController;
}
AppDelegate * applicationDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
NSManagedObjectContext * context = [applicationDelegate managedObjectContext];
NSFetchRequest * request = [[NSFetchRequest alloc]init];
[request setEntity:[NSEntityDescription entityForName:@"Money" inManagedObjectContext:context]];
NSSortDescriptor *sortDescriptor1 =
[[NSSortDescriptor alloc] initWithKey:@"rowNumber"
ascending:YES];
NSArray * descriptors = [NSArray arrayWithObjects:sortDescriptor1, nil];
[request setSortDescriptors: descriptors];
[request setResultType: NSManagedObjectResultType];
[request setIncludesSubentities:YES];
[sortDescriptor1 release];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:nil
cacheName:nil];
self.fetchedResultsController.delegate = self;
[request release];
NSError *anyError = nil;
if(![_fetchedResultsController performFetch:&anyError])
{
NSLog(@"error fetching:%@", anyError);
}
return _fetchedResultsController;
}
みんなありがとう。