【问题标题】:How to sort UIImage added NSMutableArray in ios in descending如何以降序对ios中添加的UIImage添加NSMutableArray进行排序
【发布时间】: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) 降序。

【问题讨论】:

标签: ios objective-c uiimage nsarray


【解决方案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 中获取图像。

    【讨论】:

      猜你喜欢
      • 2015-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多