내가 prepareforSegue스위프트 3~
에 의해 2 UIViewControlleler
에 내 코드를 1 UIViewController
에서 이미지를 전달하는 데 노력하고 하나 개의 ViewController에서 이미지를 통과 할 수 없습니다 : -
extension ViewController:UIImagePickerControllerDelegate,UINavigationControllerDelegate {
func handleImg() {
let picker = UIImagePickerController()
picker.delegate = self
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
var selectedImageFromPicer : UIImage?
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
selectedImageFromPicer = editedImage
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
selectedImageFromPicer = originalImage
}
if let selectedImage = selectedImageFromPicer {
imgg.image = selectedImage
}
guard let imageUrl = info["UIImagePickerControllerImageURL"] as? URL else {
return
}
self.performSegue(withIdentifier: "selected", sender: self)
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
print("canceled picker")
dismiss(animated: true, completion: nil)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "selected" {
let vc = segue.destination as! secondVC
vc.img.image = self.imgg.image
}
}
내가 오류를 얻고있다 라인 vc.img.image = self.imgg.image
오류
fatal error: unexpectedly found nil while unwrapping an Optional value
HTTPS에
그리고있는 viewDidLoad()에서
var image: UIImage? = nil
설정 이미지를 선언 변경 /stackoverflow.com/questions/31576232/passing-image-to-another-view- controller-swift 및 nil이 아닌 데이터를 확인하십시오. if-let을 사용하여 nil 값을 처리 할 수 있습니다. –"select"라는 스토리 보드에서 segue를 확인하고 대상보기 컨트롤러의 유형 (코드에 따라 "secondVC")을 확인하십시오. 그것은 vc가 0이 아니기 때문일 수 있습니다. – Eridana
시도 vc.img = self.imgg 대신 – YinKiet