按日期和时间排序NSArray
这可能是一个重复的问题,但我有一个奇怪的问题,所以我已经将它粘贴在堆栈上。
按日期和时间排序NSArray
出现问题。
例如,我在数据库文件中有以下字段: –
id Name Date 1 ABC 2015-01-29 16:36:31 2 AAA 2015-01-29 16:36:31 3 BBB 2015-01-29 16:36:31 4 CCC 2015-01-29 16:36:31 5 DDD 2015-01-29 16:36:31
注意: – 日期数据类型是sqlite数据库中的时间戳,我在获取数据时将其存储为NSDate。
现在,我通过NSArray将这些数据排序如下
NSSortDescriptor *sortDesc = [[NSSortDescriptor alloc]initWithKey:kContentEditedDate ascending:NO]; NSArray *sortDescAry = [NSArray arrayWithObject:sortDesc]; contentData = [contentData sortedArrayUsingDescriptors:sortDescAry];
上面的代码只显示降序,即使每一行都有相同的日期。
之后我也尝试[NSArray sortedArrayUsingComparator:]
进行排序,它也显示与第一个选项相同的结果。
我尝试编辑数据库中最后一行的日期并运行查询,如下所示:
SELECT RelImgName,EditedDate FROM "tableName" ORDER BY "EditedDate" DESC;
它给了我适当的输出。 如下:
id Name Date 5 DDD 2015-02-02 11:05:32 1 ABC 2015-01-29 16:36:31 2 AAA 2015-01-29 16:36:31 3 BBB 2015-01-29 16:36:31 4 CCC 2015-01-29 16:36:31
但是当我使用NSSortDescriptor执行此操作时,它只显示降序。
我希望输出与NSSortDescriptor一样。
现在我希望你们都能理解我的问题。
我搜索了很多,但没有得到任何适当的解决方案。