我有一个包含10张图像的相册,我想在其中单击图像的详细信息。在这段代码中,galleryResult
具有10张图像的所有详细信息,我正尝试将单击的图像的详细信息复制到变量mediaDict
中。变量galleryResult
和mediaDct
是一个字典。这样做时,我看到显示Expected method to read array element not found on object of type 'NSDictionary *
的错误。
-(void)imageTapped:(UIGestureRecognizer*)gesture
{
UIView *photoImageView = (UIView *)gesture.view;
int labelTag =(int) photoImageView.tag;
mediadict = galleryResult[labelTag];
[self presentGalleryWithImageAtIndex:photoImageView.tag];
}
galleryResult打印:
{ data = ( { "comment_count" = 0; "dislike_count" = 0; "is_disliked" = 0; "is_liked" = 0; "like_count" = 0; "media_file_id" = 1366; "media_url" = "195/559812113_7511740_193F2CB1-CAA5-4A35-86B0-CAD0765FAFAD.jpg"; "media_url_thumb" = "195/thumb_559812113_7511740_193F2CB1-CAA5-4A35-86B0-CAD0765FAFAD.jpg"; "post_type" = MI; "userspost_id" = 26014; }
答案 0 :(得分:0)
galleryResult变量真的是NSDictionary吗? Int不能成为NSDictionary的关键
打印galleryResult的所有键。 如果键是NSNumber,请使用
mediadict = galleryResult[@(labelTag)];
如果密钥是NSString,请使用
mediadict = galleryResult[[@(labelTag) stringValue]];
答案 1 :(得分:0)
正在查看日志。在我看来galleryResult
是一本字典,键为data
,其中包含一个字典数组。
您可能想访问data
键中存在的数据。
请尝试[galleryResult["data"] objectAtIndex: labelTag]