Когда / почему / как использовать методы экземпляра протокола UINavigationControllerDelegate?

Когда / почему / как вы будете использовать эти методы?

- navigationController:willShowViewController:animated:
– navigationController:didShowViewController:animated:

Разве вы не можете просто использовать вместо этого эти методы экземпляра UIViewController?

– viewWillAppear:
– viewDidAppear:
– viewWillDisappear:
– viewDidDisappear:
9
задан ma11hew28 30 August 2010 в 01:56
поделиться

2 ответа

Вы должны использовать первые, если хотите получать информацию об этих событиях за пределами видимых контроллеров представления. Делегаты позволяют вам получать уведомления в одной точке. Использование методов UIViewController привязывает вас к этим контроллерам, где вам придется писать/вызывать один и тот же код несколько раз, чтобы добиться одного и того же.

Как правило, вы бы разделили задачи на две группы:

  • Вещи, которые происходят на всех контроллерах представления: используйте делегаты
  • Вещи, происходящие в одиночном контроллере представления : используйте методы экземпляра
16
ответ дан 4 December 2019 в 12:15
поделиться

Протокол UINavigationControllerDelegate определяет методы, которые делегат навигационного контроллера может реализовать для изменения поведения, когда контроллеры представления помещаются и извлекаются из стека навигационного контроллера.

Эти методы важны, когда вам нужно выполнить некоторые действия, которые не входят в область действия вашего контроллера представления. делегат, который должен быть предшественником объекта вашего контроллера представления в иерархии, и который будет заинтересован в выполнении некоторых действий без знания каждого контроллера представления, который нажимается или выталкивается, эти действия не обязательно связаны с этим контроллером представления конкретно, но они могут быть методами, вызываемыми для других объектов.

1
ответ дан 4 December 2019 в 12:15
поделиться
Другие вопросы по тегам:

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