_' ke tipe UIImageView yang ditentukan'/> _' ke tipe UIImageView yang ditentukan'/> _' ke tipe UIImageView yang ditentukan'/> Tidak dapat mengkonversi nilai tipe '() -> _' ke tipe UIImageView yang ditentukan | gomecomputer.com

Pertanyaan Tidak dapat mengkonversi nilai tipe '() -> _' ke tipe UIImageView yang ditentukan


Saya mencoba membuat tampilan UIImage dapat diklik, tetapi saya tidak beruntung. Apa cara terbaik untuk menyelesaikan tugas ini? Kesalahan yang saya dapatkan adalah "Tidak dapat mengkonversi nilai dari tipe '() -> _' ke tipe yang ditentukan 'UIImageView'".

lazy var profileImageView: UIImageView = {
 let imageView = UIImageView()
 imageView.image = UIImage(named: "ic_file_upload_white_48pt")
 imageView.translatesAutoresizingMaskIntoConstraints = false
 imageView.contentMode = .scaleAspectFill

 imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectorProfileImage)))
 imageView.isUserInteractionEnabled = true
 return imageView

}

}


6
2018-03-10 23:21


asal


Jawaban:


Sepertinya masalah sintaks, coba

func profileImageView() -> UIImageView {
        let imageView = UIImageView()
        imageView.image = UIImage(named: "ic_file_upload_white_48pt")
        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.contentMode = .scaleAspectFill

        imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectorProfileImage)))
        imageView.isUserInteractionEnabled = true
        return imageView
}

4
2018-03-10 23:27



Anda memberi tahu compiler yang ingin Anda buat profileImageView mengandung penutupan. Jika Anda ingin profileImageView berisi hasil penutupan itu, Anda perlu menambahkan parens setelah untuk meminta penutupan:

lazy var profileImageView: UIImageView = {
  //your code here
  return imageView
}()

Perhatikan tanda kurung setelah penutupan. Itu memberikan hasil memanggil penutupan ke variabel Anda profileImageView saat pertama kali Anda mereferensikan variabel.


23
2018-03-10 23:39