2016-05-01 19 views
0

當我從JSON的GET請求中檢索圖像的所有信息時,我嘗試將字符串轉換爲圖像。它來自我作爲一個base64字符串,我轉換爲NSData,然後我嘗試把它放在imageView,但我不斷收到「意外發現零,而解包可選」錯誤。我打印NSData的到我的控制檯我的ImageView線展開它(表明它不是無)之前,我得到的轉換圖像爲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),並在觀察變量的同時逐行執行逐行執行程序(是否爲空?)將立即發現您的問題。 –

相關問題