0
Класс ImagePicker содержит и UIImagePicker:Swift. Pass делегата UIImagePicker в качестве аргумента
class ImagePicker {
let imagePicker = UIImagePickerController()
var delegate: AnyObject?
init(delegate: AnyObject?) {
self.delegate = delegate
}
func pickPhoto() {
self.imagePicker.delegate = delegate
// The line above gives an error "Cannot assign a value of type 'AnyObject?' to a value of type 'protocol<UIImagePickerControllerDelegate, UINavigationControllerDelegate>?'
delegate?.presentViewController(imagePicker, animated: true, completion: nil)
}
}
UICollectionView inits сборщика изображения:
let imagePicker = ImagePicker(self)
imagePicker.pickPhoto()
Так что это не работает из-за ошибки упоминалось выше, но как я это делаю?
Работы! Большое спасибо – Manuel
Собственно, какой класс является делегатом, так как он определяется только его протокольными привязанностями, но класс не установлен для себя? – Manuel
Весь смысл использования делегатских протоколов заключается в том, что вы не указываете класс для делегата. Таким образом, все объекты, реализующие методы, определенные в протоколе, могут действовать как делегаты. Независимо от их класса. – joern