今天要完成一个功能,把从服务器取到的图片Base64编码string显示在界面上,使用UIImage来显示。
1、首先将取到的图片信息存在GNimage类中。
2、使用[self performSelectorOnMainThr
3、主线程到GNimage中取出图片信息,包括Base64编码的string。
4、将Base64编码的string 使用[NSString stringWithUTF8String:str.c_str()]; 进行转换
5、使用UIImage显示图片
NSData *_decodedImageData = [[NSData alloc] initWithBase64Encoding:_encodedImageStr];
UIImage *_decodedImage = [UIImage imageWithData:_decodedImageData];
结果程序崩溃,跟踪调试发现第四步转换后的值为空,查文档发现stringWithUTF8String这个方法主要是用在从外部存储文件读取C字符串后, 转换成界面上表示用的UTF8文字。
此方法使用的时候有个限制, str的一定要以'\0'结束。