Прежде всего: я знаю, что есть тысячи вопросов по этому вопросу и, конечно же, в одном из них на мой вопрос ответили. Но после нескольких часов поиска я не нашел ответа, который решает мою проблему ...swift imageView, collectionView, неожиданно нашел нуль при разворачивании необязательного значения
У меня есть CollectionViewController (внутри контейнера) и CollectionViewCell. Внутри ячейки есть изображение. Изображение imageView должно быть изменено с помощью кнопки в CollectionViewController.
Вот мой код:
class essenCell: UICollectionViewCell {
@IBOutlet weak var Bild: UIImageView!
}
(Клетка)
class essenCollectionViewController: UICollectionViewController {
[...]
@IBAction func xyz(sender: UIButton!) {
//following: the line with the error (unexpectedly found nil while unwrapping an Optional value)
essenCell().Bild.image = UIImage(named: "erster")
}
}
(CollectionViewController)
Сначала я думал, что я совместно uld подключить кнопку к ячейке и контроллер, это работает теоретически, но не работает в моем конкретном случае. Изменение изображения происходит внутри if-Loop (внутри моего контроллера), который относится к parentViewController. Поскольку я не могу использовать эту ссылку внутри Ячейки, мне нужно, чтобы кнопка-функция находилась в контроллере.
Пожалуйста, помогите мне!
Это сработало очень хорошо, спасибо. Но можно ли использовать '' reloadData() "' часть из 'parentViewController'? Я уже пробовал 'essenViewController(). CollectionView? .reloadData()', но это не работает. Я получаю сообщение об ошибке «_uicollectionview должен быть инициализирован с параметром макета не-nil swift_» –
Используйте уведомление «NSNotificationCenter» для отправки сигнала в 'collectionViewController'. Это самый простой способ отправки сигналов между VCs IMO. – Tim
Большое спасибо. Это сработало! –