мой протокол:
@protocol ElectricalSystemEngineDelegate
-(void)didRequestMainMenu:(id)sender;
@end
Я разработал этот протокол для того, чтобы обрабатывать отклонение модального View Controller внутри моего контроллера rootView. Мой контроллер rootView принимает этот протокол и объявляется следующим образом:
#import "ElectricalSystemEngineDelegate.h"
@interface RootViewController: UIViewController <ElectricalSystemEngineDelegate>
//other ivars & methods including instantiation of my modalViewController.
Я использую "из коробки":
-(IBAction)displayElectricalViewController
- для отображения модального контроллера ... который работает нормально. Я, однако, запутался в том, что делать дальше с реализацией этого протокола для обработки увольнения контроллера.
//The implementation of my root view controller.
-(void)didRequestMainMenu:(id)sender {
[self dismissModalViewControllerAnimated: YES];
}
Очевидно, я правильно реализовал протокол, используя предписанный метод. Я хочу, чтобы метод отклонял мой контроллер представления при вызове. Я также хочу, чтобы он вызывался нажатием кнопки назад в modalViewController.
Как утверждают яблоки, «в некоторых случаях объект может захотеть уведомить другие объекты о своих действиях, чтобы они могли принять любые побочные меры». Моя цель состоит в том, чтобы мой ElecticalViewController уведомил своего родителя (RootViewController) о том, что он должен быть отклонен. Это увольнение должно быть вызвано нажатием кнопки назад. Как объект выполняет это уведомление?