如何以降序对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进行排序的主要内容,如果未能解决你的问题,请参考以下文章