我有一个包含 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];
}
图库打印结果:
{ 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; }
正在浏览您的日志。在我看来,galleryResult
是一个带有包含字典数组的键data
的字典。
您可能希望访问密钥中存在的数据data
。
请尝试[galleryResult["data"] objectAtIndex: labelTag]
变量库结果真的是一个 NSDictionary?int 不能成为 NSDictionary 的键
打印库结果的所有键。 如果密钥是 NSNumber,请使用
mediadict = galleryResult[@(labelTag)];
如果密钥是 NSString,请使用
mediadict = galleryResult[[@(labelTag) stringValue]];