2015-08-19 79 views
0

我使用imagePickerController,但是當我選擇一個imagen畫質得到了一個錯誤:imagePickerController錯誤選擇照片

致命錯誤:意外發現零而展開的可選值

我不知道爲什麼,因爲IM展開與的值,如果讓

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { 

    if let img = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     photoImageView.image = img 
    } 

    dismissViewControllerAnimated(true, completion: nil) 
} 

回答

2

是否在該行

photoImageView.image = img 

在這種情況下發生錯誤,可能是photoImageView爲零(這通常是一個隱含展開可選)。

從評論更新時間:

請檢查photoImageView@IBOutlet,它是連接到故事板的UIImageView的。如果以編程方式創建它,請在設置圖像之前將其添加到窗口中的視圖中。

+0

是的,這是我所看到的,它在這一點上打破了。我如何解決這個問題? –

+1

確保'photoImageView'是一個IBOutlet,並且它連接到故事板上的UIImageView。如果以編程方式創建它,請在設置圖像之前將其添加到窗口中的視圖中。 –

+0

@EnekoAlonso你是對的!我有de IBOulet財產,但它與故事板斷開連接!謝謝! –

0

也許什麼錯VC調用。此代碼工作正常:

let picker = UIImagePickerController() 
      picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 
      picker.allowsEditing = false 
      picker.delegate = self 
      self.presentViewController(picker, animated: true, completion: nil) 



func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
    productImageView.image = image 
    dismissViewControllerAnimated(true, completion: nil) 
}