设想 :
我有一个费用跟踪 iOS 应用程序,我将费用从费用详细视图控制器存储到表视图中,该表视图显示费用列表以及类别和金额。
在 tableview 的顶部,是一个带有 CALENDAR 按钮的 UIView、一个显示日期的 UILabel 文本(例如:2012 年 10 月 23 日(Sun))和侧面的另外 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;
}
多谢你们。