2016-05-01 11 views
0

JSONのGETリクエストから画像のすべての情報を取得すると、画像に入っている文字列を変換しようとします。それは私にNSDataに変換し、それをimageViewに入れようとしているbase64文字列として私に来るが、私は "予期せぬことに任意の文字をアンラッピングしている間に"見つかっている。私は(それがnilではありません示すために)私のImageViewのラインでそれを開梱する直前に、私のコンソールにNSDataのを印刷し、私はそれがはるかに長いのですが、これは単にアイデアを与えることですtableviewの画像を変換しました "オプションでアンラッピングしている間に予期せぬエラーが見つかりました"

d6ae5d4c be632efe 39fa8e9e f5cfc92c 7feb391c 16f7e7e9 eb5e7e2b 0fd0e6a8 51ba97dc 865c639e 39e9ed9e >) 

の出力を取得します。

//Convert image here 
     let base64String = media[indexPath.row].image 
     let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0)) 
     print(decodedData) 

     cell.mediaImageView.image = UIImage(data: decodedData!) 

答えて

1

は直接応答からあなたが得た画像データを変換し、BASE64を変換しないでください:

は、ここで私は問題を取得しています私のコードです。! これが役に立ちますようお願いいたします。

+0

はコメントとして投稿する必要があります。 – Shubhank

0

修正済みです。ロケットの科学者は、入ってくるデータに写真がなく、そのセルの画像が私が得たエラーを投げ捨てるような無限の値からアンラップしないようにするために、プレースホルダ画像を追加するのを忘れていました。将来的に問題が発生した人のための更新されたコード

//Convert image here 
     let base64String = media[indexPath.row].image 
     let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0)) 

     if decodedData == nil { 
      cell.mediaImageView.image = UIImage(named: "camera") 
     } else { 
      cell.mediaImageView.image = UIImage(data: decodedData!, scale: 0.9) 
     } 
+0

将来、ブレークポイントを設定し、式(media [indexPath.row] .image)を追加し、変数を監視しながら行ごとにステップ実行すると(空であるかどうか)、すぐに問題が明らかになります。 –

関連する問題