2016-03-27 28 views
0

Görüntüleri çağırmaya çalışıyorum ama hata alıyorum "UIImage türünde değer atanamıyor mu?" "vc.sentData2 = image" satırına 'String!' yazın.'UIImage?' Türünde bir değer atanamıyor. 'String!' yazmak için

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "DetailView"){ 
     let vc = segue.destinationViewController as! DetailViewController 

     if let indexPath = self.tableView.indexPathForSelectedRow{ 
      let Title = names[indexPath.row] as String 
      vc.sentData1 = Title 

      let url = NSURL(string: images[indexPath.row]) 
      let data = NSData(contentsOfURL: url!) 
      let image = UIImage(data: data!) 
      vc.sentData2 = image 
     } 
    } 
} 

Yardımlarınız için minnettar olurum.

cevap

2

Oldukça açıkçası, DetailViewController sizin tanımında bir String! olarak sentData2 ilan ettik Ve bu durumda bir UIImage? atamak için çalışıyoruz (UIImage(data:) sonucu hiçbir geçerli görüntü olabileceğinden her zaman bir UIImage? olduğunu) String!.

Yani,

var sentData2: UIImage? 
+0

teşekkür etmek DetailViewController içinde

var sentData2: String! 

değiştirmek Benim için çalıştı. –

İlgili konular