Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 按日期对请求排序_Iphone_Objective C_Ios_Ipad_Core Data - Fatal编程技术网

Iphone 按日期对请求排序

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

我有一个核心数据数据库,其中充满了来自json Web服务的数据。 但是我对日期有个问题。这个日期又回来了。所以我要做的第一件事是将这个字符串转换为NSDate。第二件事是以正确的格式转换这个NSDate,这样我就可以在date上添加一个排序描述符

这就是我目前在核心数据数据库中存储日期的方法

 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