2

画像と画像のサムネイルのリストを持つテーブルビューがあります (画像のリストとサムネイルは JSON オブジェクトから解析されます)。次のように画像データ オブジェクトを imagesArray に追加しています -

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

ImageData オブジェクト

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

このようなallImagesArray

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

selectedImageIdに基づいて、この配列からオブジェクトのimageDataを割り当てたい

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

selectedImageId に基づいてその imageData に到達する方法を考えることができません

助けてください。

更新 - 助けてくれてありがとう、私はそれを行うことができました.

4

3 に答える 3

1

だからあなたは持っています:

NSArray* allImagesArray = @[@{@"some_image_id_in_NSString_1":@"the data in NSData 1"}, @{@"some_image_id_in_NSString_2":@"the data in NSData 2"}];

PPImageViewControllerのプロパティとして。

が でありimageidであるNSStringと仮定すると、で次のようなメソッドを作成できます。imagedataNSDataPPImageViewController

- (UIImage*) findSelectedImage
{
    UIImage* selectedImage;

    for(NSDictionary* d in allImagesArray)
    {
        NSString* currentKey = [[d allKeys] objectAtIndex:0];

        if([currentKey isEqualToString:[self selectedImageId]])
        {
            NSData* imageData = [d objectForKey:currentKey];

            selectedImage = [UIImage imageWithData:imageData];

            break;
        }
    }

    return selectedImage;
}

viewDidLoad次に、おそらくメソッドで、次のように呼び出します。

UIImage* selectedImage = [self findSelectedImage];

それが役立つことを願っています。

于 2013-11-12T04:07:35.683 に答える