按日期和时间排序NSArray

时间:2015-02-02 04:54:10

标签: ios objective-c sqlite nsarray nssortdescriptor

这可能是一个重复的问题,但我有一个奇怪的问题,所以我把它粘贴在堆栈上。

按日期和时间排序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一样。

现在我希望你们都能理解我的问题。

我搜索了很多,但没有得到任何适当的解决方案。

0 个答案:

没有答案