Я уверен, что есть правильный способ сделать это, я новичок в цели-c и касании какао, поэтому я не знаю, что это такое.
У меня есть приложение, которое имеет (упрощенную) иерархию представлений
Window
--Button
--Button
--Subview
--Sub-Subview
То, что я пытаюсь сделать, это заставить подпредставление сделать что-то в ответ на событие касания на одной из кнопок. Я могу предложить несколько способов сделать это, но я не уверен, какой из них является предпочтительным.
Добавить выход в контроллер основного вида (обработка окна) и сохранить ссылку на подпредставление. Когда мне нужно подписаться на сообщение, я могу просто пропустить нужное сообщение (так как у меня уже есть ссылка). Это кажется работоспособным, если немного ... хрупким?
Добавьте второе действие к кнопке (первое - это метод в контроллере представления, второе - метод в классе подпредставления). Это кажется проблематичным, поскольку важно, чтобы действие кнопки в контроллере представления запускалось до , когда подпредставление пытается обработать сообщение
Какая-то система делегатов?
Напишите новый контроллер представления для подпредставления и попросите контроллер основного представления передать , что сообщение (не уверен, что первый контроллер может получить ссылку на второй. Кроме того, код, фактически необходимый для подпредставления, относительно невелик - целый новый контроллер кажется излишним).
Что-то еще, что я полностью пропускаю?
Какое-то направление будет оценено!