2016-08-24 74 views
-1

我想從我的JSON文件到我的SubViewController解析圖片的JSON文件的圖像,但我不知道該怎麼做。我試圖做一些事情,但似乎這是錯誤的,請你幫助我。這裏是我的JSON文件:如何分析從表視圖細胞

{"Name":"Fruit1", 
     "Picture":"http://www.starpropertiesindia.com/blog/wp-content/uploads/2016/08/kochi1.jpg", 
     "Description":"red" 
     }, 

我想他們原因請看SubViewController,我得到另一個錯誤:

無法指定類型NSURL的價值類型的UIImage!該行:

  let ImageView = fruits[indexpath.row].imageURL 

      VC .SentData3 = ImageView 

如果能夠幫助你,我已經創建之初一個結構:

struct Fruit { 
    let name : String 
    let imageURL : NSURL 
    let description : String 
} 
+0

但我有這個問題: 無法指定類型的NSURL的值來鍵入UIimage! –

+0

當然:一個URL不是一個圖像。 – Moritz

回答

0

我不熟悉parsing JSON,但你可以試試這個方法。

func parseJSON() -> Fruit { 
    var json: Array! 
    do { 
     json = try NSJSONSerialization.JSONObjectWithData(JSONData, options: NSJSONReadingOptions()) as? Array 
    } catch { 
     print(error) 
    } 

    guard let item = json[0] as? [String: AnyObject], 
      let name = item["Name"] as? String, 
      let pictureString = item["Picture"] as? String, 
      let description = item["Description"] as? String else { 
     return 
    } 

    return Fruit(name, imageURL: NSURL(string: pictureString), description: description) 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let myFruit = parseJSON() 

    if segue.identifier == "yourSegueIdentifier" { 
     if let vc = segue.destinationViewController as? SubViewController { 
      let data = NSData(contentsOfURL: myFruit.imageURL!) 
      vc.imageView.image = UIImage(data: data!) 
     } 
    } 
}