【发布时间】:2013-01-22 08:57:56
【问题描述】:
我已成功将 UIImage 转换为 NSData 并使用 SBJson Web 服务将其发送到服务器。 我正在使用此代码:
img=mainImage.image;
NSData *imgdata=UIImagePNGRepresentation(img);
NSString *post =[[NSString alloc] initWithFormat:@"gid=%@&image=%@",[lblgid text],imgdata];
NSURL *url=[NSURL URLWithString:@"http://www.abchjahdkahdakjskahdk/updategameimage.php"];
这里 img 是 UIImage,mainImage 是 UIImageView。从这里开始一切都很好。 现在在另一端,我必须在那里获得图像,我面临问题。 我正在使用此代码:
NSData *imgdata=[abc valueForKey:@"image"];
imge = [UIImage imageWithData:imgdata];
imgview=[[UIImageView alloc]initWithImage:imge];
当我打印 imgdata 时,它返回的数据与我从另一端发送的数据相同,但是当我尝试将此数据转换回 UIImage(在上述代码的第二行中)时,它是抛出异常。
2013-01-22 14:23:43.298 Drase[946:11303]-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7566800 2013-01-22 14:23:43.298 Drase[946:11303] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSArrayI 长度]:无法识别的选择器发送到实例 0x7566800” * 首先抛出调用栈: (0x1ce1012 0x111ee7e 0x1d6c4bd 0x1cd0bbc 0x1cd094e 0x1cb1b2 0x881f3 0x87ef4 0x1c659 0x1132705 0x69920 0x698b8 0x12a671 0x12abcf 0x129d38 0x9933f 0x99552 0x773aa 0x68cf8 0x1c3cdf9 0x1c3cad0 0x1c56bf5 0x1c56962 0x1c87bb6 0x1c86f44 0x1c86e1b 0x1c3b7e3 0x1c3b668 0x6665c 0x29d2 0x2905) libc++abi.dylib:终止调用抛出异常。
我没有得到任何解决此问题的方法,请帮助我。
【问题讨论】:
-
无论
abc是什么,当使用@"image"键调用valueForKey:时,它都会返回NSArray。abc是什么? -
很可能是编码问题 - 您能否在发送带有
imgdata值的数据之前重新创建图像?
标签: ios ios6 uiimage nsdata xcode4.5