2

WCFデータサービスから返されたJSONから画像データを取得するにはどうすればよいですか?

画像であるバイナリデータを含むいくつかのオブジェクトを提供するWCFデータサービスがあります(SQL Serverの列タイプはですimage)。これは、JSONでテキストのぎこちなさとして出くわします。このサービス用に作成しているiOSクライアントで、このデータを画像([ UIImage imageWitData:myData])として表示したいと思います。

これが私がしていることです:

NSData *networkData = nil; //assume this magically gets data from the service
NSError *err = nil;
//assume the returned JSON has one object and is not an array
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:networkData
     options:NSJSONReadingAllowFragments error:&err];

//handle error if needed

NSString *imageString = [dict objectForKey:@"Image"];
NSData *imageData = [imageString dataUsingEncoding:NSUTF8StringEncoding];
///The service is using UTF-8.
UIImage *image = [UIImage imageWithData:imageData];

それを入れても何も表示imageされUIImageViewません。私は何が間違っているのですか?

4

1 に答える 1

2

WCFDataServicesから返されるバイナリデータはbase64でエンコードされていることがわかります。NSData-Base64カテゴリを使用して解析していますが、うまく機能しています。したがって、ソリューションは次のようになります。

NSData imageData = [NSData dataFromBase64String:imageString];

これらのファイルをプロジェクトにインポートすると、ARCはいくつかのエラーをautoreleaseスローしましたが、.mファイル内のいくつかの呼び出しを削除することでそれらを解決することができました。

于 2012-10-17T21:07:04.060 に答える