Есть ли способ получить доступ к контроллеру представления, который инициировал модальное представление из этого нового модального представления?

#iphone #objective-c #ios

#iPhone #objective-c #iOS

Вопрос:

У меня есть представление, в котором на панели навигации есть кнопка «Добавить». При нажатии на эту кнопку он перемещает модальное представление с формой для добавления своего элемента. Я хотел бы сообщить вызывающему контроллеру представления (тому, у которого была кнопка «Добавить»), что расходы были добавлены, чтобы он мог выполнять любые обновления, которые ему необходимо выполнить. Есть ли какой-либо способ получить доступ к контроллеру представления, который инициировал модальное представление?

Ответ №1:

На ум приходят два способа. Либо создайте протокол, который ваше модальное представление использует для информирования вызывающего ViewController, либо разместив в вашем модальном представлении сообщение NSNotification, которое наблюдает вызывающий контроллер представления. В случае публикации уведомления вы должны отправить счет в словаре userInfo объекта NSNotification.

Удачи

Ответ №2:

Я считаю, что это свойство будет работать parentViewController

Вот ссылка на описание

http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/UIViewController/parentViewController

Ответ №3:

если вы находитесь в iOS 5.0, вы должны получить доступ к этой информации с presentingViewController помощью свойства, а для iOS 2.0 — 4.X parentViewController свойство работает.