Один из способов сделать это - добавить свойство к вашему modalView
, что-то вроде parent
. Затем, непосредственно перед вызовом presentModalViewController
со своего mainView
, вы должны установить modalView.parent = self;
Таким образом, у вас есть обратная ссылка на mainView
(конкретный экземпляр) из вашего modalView
.
Другой способ - сделать ваш mainView
одноэлементным объектом. Это может или не может быть оптимальным для вас, в зависимости от дизайна вашего приложения. Я сделал одноэлементные объекты следующим образом:
+ Создайте глобальную / статическую переменную в вашем mainView
(например, mv_). Тип должен совпадать с классом (т. Е. mainView
). Инициализируйте его как nil
.
+ Создать метод класса для выделения и инициализации этой переменной (если экземпляр еще не существует) или для возврата его как есть (если вы уже инициализировали его). Это может быть так просто, как:
+ (mainView *) getMainView()
{
if (!mv_)
_mv = [[self alloc] init];
return mv_;
}
+ Затем, когда вам нужно получить доступ к одноэлементному объекту mainView, вы просто вызываете getMainView
. Однако при использовании этой методологии есть некоторые особенности, поэтому убедитесь, что ваше приложение ведет себя так, как вы хотите, если вы решите пойти по этому пути.