Передача данных из UIViewController в 1 назад UIViewController - PullRequest
0 голосов
/ 03 февраля 2012

Итак, у меня есть этот UINavigationController, я при первом переходе к следующему представлению, затем я хочу нажать кнопку «назад» и вернуться к первому представлению с данными, которые я сохранил в strAddress второй взгляд. Я хочу представить данные в первом представлении на lblShowStr.text.

как мне это сделать? Я обыскал всю сеть, нашел людей, которые писали, но не могли понять, что им там сказали.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

Вы можете получить ссылку на предыдущий viewController в вашем стеке навигации, сказав:

NSArray *viewControllers = self.navigationController.viewControllers;
MyViewControllerClass *previousController = [viewControllers objectAtIndex:[viewControllers count] - 2];

Затем вы можете установить свойство на «предыдущем» контроллере представления для хранения вашего текста или даже напрямую установить текст на выходе метки следующим образом:

previousController.lblShowStr.text = self.strAddress;

Это не лучший способ сделать это (лучший способ - создать собственный протокол делегирования или использовать NSNotificationCenter), но это самый простой способ.

1 голос
/ 03 февраля 2012

В вашем первом контроллере представления у вас может быть свойство NSString с именем strAddress. и вы помещаете эту строку в lblShowStr.text каждый раз, когда появляется представление.

В вашем втором контроллере представления у вас может быть свойство, указывающее на экземпляр первого контроллера представления. Когда вы создаете экземпляр своего второго контроллера представления, вы можете назначить это свойство первому контроллеру представления.

secondViewController.firstViewController = self; или же [secondViewController setFirstViewController: self];

Затем, когда пользователь нажимает кнопку возврата, вызывается viewDidAppear для первого просмотра и обновляется строка.

Я предполагаю, что вы не хотите хранить эти данные где-либо еще, например. в вашей модели или nsuserdefaults и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...