ios - NSMutableArray 内的对象

标签 ios uiimage nsmutablearray nsdictionary

我有一个表格 View ,其中包含图像列表和图像缩略图(图像列表和缩略图是从 JSON 对象解析的),我将图像数据对象添加到 imagesArray 中,如下所示 -

ImageData *imageDataObject = [[ImageData alloc]initWithImageId:[[imageListArray    
                         objectAtIndex:indexPath.row] imageId] imageData:imageData];
[imagesArray addObject:imageDataObject];

图像数据对象

@property (nonatomic, strong) NSString* imageId;
@property (nonatomic, strong) NSData* imageData;

像这样的allImagesArray

[ImageData object1,ImageData object2,....]

我想根据 selectedImageId 将此数组中的对象的 imageData 分配给

UIImage* image =[[UIImage alloc] initWithData:........];

我无法想出一种方法来根据 selectedImageId 获取该 imageData

请帮忙。

更新 - 谢谢大家的帮助,我可以的。

最佳答案

一种可能的方法是,迭代数组,从字典中找到您的 selectedImageId 并使用它。

示例:

    ImageData *imageDataObject = nil;

    for(int i=0; i<allImagesArray.count;i++){
        NSDictionary *dict= allImagesArray[i];
        imageDataObject = [dict objectForKey:selectedImageId];
        if(imageDataObject != nil){
           UIImage* image =[[UIImage alloc] initWithData:........];
           //do whatever
           break;
        }
    }

根据您的编辑:

您拥有的是 ImageData 对象数组 [ImageData1,ImageData2,...]。对于每个 ImageData 对象,您都有 imageIdimageData 属性,您想要的只是将 selectedImageId 与此 imageId 进行比较> 并从中获取 imageData

因此,在您的 PPImageViewController 中,您可以像这样迭代 allImagesArray 并获取 imageData。

    for(ImageData* imgDataObj in self.allImagesArray){
        if([imgDataObj.imageId isEqualToString:self.selectedImageId]){
           UIImage* image =[[UIImage alloc] initWithData:imgDataObj.imageData];
        }
    }

关于ios - NSMutableArray 内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19920393/

相关文章:

objective-c - 将对象添加到 NSMutableArray 属性

objective-c - 有哪些可用的 UITabBarController 选项卡图标?

ios - TouchId 应该使应用程序安装后添加/更新的指纹无效

ios - 捕获 UIView 的屏幕截图 - 性能缓慢

swift - 使用谓词搜索对象的 NSMutableArray

ios - 数组包含对象问题

ios - 在 UINavigationController 上推送多个 View Controller 时出现内存问题

ios - 您可以从多个导航 Controller 转到 Storyboard View Controller 吗?

ios - UIImage 不会显示在我的 UIImageView 中

ios - 如何使用 ios-image-filters 像在 Photoshop 中一样更改 UIImage 的颜色级别?