Iphone 按日期对请求排序
我有一个核心数据数据库,其中充满了来自json Web服务的数据。 但是我对日期有个问题。这个日期又回来了。所以我要做的第一件事是将这个字符串转换为NSDate。第二件事是以正确的格式转换这个NSDate,这样我就可以在date上添加一个排序描述符 这就是我目前在核心数据数据库中存储日期的方法Iphone 按日期对请求排序,iphone,objective-c,ios,ipad,core-data,Iphone,Objective C,Ios,Ipad,Core Data,我有一个核心数据数据库,其中充满了来自json Web服务的数据。 但是我对日期有个问题。这个日期又回来了。所以我要做的第一件事是将这个字符串转换为NSDate。第二件事是以正确的格式转换这个NSDate,这样我就可以在date上添加一个排序描述符 这就是我目前在核心数据数据库中存储日期的方法 NSDateFormatter* df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"MM/dd/yyyy"]; NSDat
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy"];
NSDate* d = [df dateFromString:[genkInfo objectForKey:CALENDAR_DATE]];
kalender.date = d;
以及如何获取数据
- (void)getKalender // attaches an NSFetchRequest to this UITableViewController
{
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Kalender"];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"date" ascending:YES]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.genkDatabase.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
}
你知道怎么做吗
致以亲切的问候和感谢
编辑
当我做下面的日志时。我得到每个记录的正确日期和空值
NSLog(@"date = %@",kalender.date);
2012-10-08 19:17:12.125 RacingGenk[596:c07] date = 2013-09-02 22:00:00 +0000
2012-10-08 19:17:12.125 RacingGenk[596:c07] date = (null)
在讨论中发现,日期格式化程序使用的格式与web服务发送的日期格式不匹配。使用
[dateFormatter setDateFormat:@"dd/MM/yyyy"]
已修复此问题。讨论中发现,日期格式化程序使用的格式与web服务发送的日期格式不匹配。使用
[dateFormatter setDateFormat:@"dd/MM/yyyy"]
已修复问题。不清楚-您是否正在演示您已经尝试但发现无效的内容?如果是,以什么方式?在初始检查时,代码看起来很好。您的
NSSortDescriptor
应该按原样使用NSDate
对象。我已经编辑了我的代码。它仍然没有排序“当我记录kalender.date时,我为每条记录获取正确的日期和空值”——这到底意味着什么kalender
只有一个date
属性。也许您可以在代码中添加NSLog()
命令,以明确记录的内容。我已经再次编辑了代码。希望这有帮助。那么输出来自两个不同的对象?一个有有效日期,另一个没有?web服务中的字符串是如何格式化的?您应该检查[df dateFromString:…]
是否未返回nil
。不清楚-您是否正在演示您已经尝试过但发现无效的内容?如果是,以什么方式?在初始检查时,代码看起来很好。您的NSSortDescriptor
应该按原样使用NSDate
对象。我已经编辑了我的代码。它仍然没有排序“当我记录kalender.date时,我为每条记录获取正确的日期和空值”——这到底意味着什么kalender
只有一个date
属性。也许您可以在代码中添加NSLog()
命令,以明确记录的内容。我已经再次编辑了代码。希望这有帮助。那么输出来自两个不同的对象?一个有有效日期,另一个没有?web服务中的字符串是如何格式化的?您应该检查[df dateFromString:…]
是否未返回nil
。