如何以降序对ios中添加的UIImage添加NSMutableArray进行排序

Posted

技术标签:

【中文标题】如何以降序对ios中添加的UIImage添加NSMutableArray进行排序【英文标题】:How to sort UIImage added NSMutableArray in ios in descending 【发布时间】:2014-07-15 13:26:29 【问题描述】:

我正在将 UIImage 存储到 NSMutableArray。我如何使用 UIImage 对其进行排序,因为它没有存储任何参数或 for-key,我可以使用任何比较器代码对其进行排序。

我正在努力从图像选择器控制器存储 UIImage。将图像数量存储到 NSMutableArray 之后。之后,我需要将我的可变排序为后进先出(LIFO)。它目前以先进先出(FIFO)或下降的方式工作。我们将图像存储到数组中,如下所示:

NSMutableArray *images = [NSMutableArray arrayWithCapacity:[info count]];

    for (NSDictionary *dict in info) 

        UIImage *image = [dict objectForKey:UIImagePickerControllerOriginalImage];
        [images addObject:image];

    


    [_currentData addObjectsFromArray:images];

存储后,我无法将最后添加的对象排序到图像视图中的第一个显示。 以下代码对我来说崩溃了:

NSSortDescriptor *desc = [NSSortDescriptor sortDescriptorWithKey:@"" ascending:NO];
    [_currentData sortUsingDescriptors:@[desc]];

我的 _currentData 是主要的 NSMutableArray,我用来在做空后在表格视图中显示。

请帮助我将 UIImage 存储的 NSMutableArray 排序为 LAST IN FIRST OUT(LIFO) 降序。

【问题讨论】:

这个词是“排序”,而不是“短”。 How can I reverse a NSArray in Objective-C? 的可能重复项 【参考方案1】:

这个问题基本相同: How can I reverse a NSArray in Objective-C?

你可能想试试这个:

NSArray * copy = [[array reverseObjectEnumerator] allObjects];

还值得注意的是,遍历字典并不能保证一定的顺序。

【讨论】:

【参考方案2】:

简单的解决方案是使用反向 for 循环获取数据。

for (int i = arr.count-1; i >= 0; i--) 
    UIImage *img = [arr objectAtIndex:i];

使用反向循环从 NSMutableArray 中获取图像。

【讨论】:

以上是关于如何以降序对ios中添加的UIImage添加NSMutableArray进行排序的主要内容,如果未能解决你的问题,请参考以下文章

php数组常用函数

PHP 数组排序

就是一个表有2个字段 一个是发布时间 一个是更新时间,如何根据这两个字段来进行降序排序啊

PHP 数组排序 +php二维数组排序方法

默认以降序加载 Datagrip 表

php多维数组自定义排序 uasort()