AntonBrock
@AntonBrock
screen light

В чем ошибка при делегирование?

Вопрос:
Мне нужно сделать делегирование функции, но не могу понять, где я ошибся или каких знаний мне не хватает.
У меня есть "главный файл" (босс):
protocol MainViewControllerDelegate {
    func openedSideBar()
}
// ниже в этом же файле
var delegate: MainViewControllerDelegate?
// еще ниже
delegate?.openedSideBar()

Также есть класс отвечающий за xib файл
В нем:
var mainViewControllerDelegate = MainViewController()

В awakeFromNib:
mainViewControllerDelegate.delegate = self

И соотвественно сама функция:
extension MainCellCollectionView: MainViewControllerDelegate {
    func openedSideBar() {
        print("1")
    }
}

Данный принт не срабатывает... В чем прокололся ?
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
Вы както все перекрутили.
Попытаюсь ответить абстрактно:

Объект Старший, владеет объектом Младший.
Объект Старший, удовлетворяет протоколу ДелегатМладшего.
Объект Старший, устанавливает себя делегатом объекту Младший. (типа mladshiy.delegate = self)
Когда у младшего открывается сайдбар то он должен вызвать соответствующий метод делегата (типа delegate.openedSideBar())

Надеюсь это даст вам понимание того чего вам не хватает в знаниях.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы