Получить строку из родительского ViewController? - PullRequest
0 голосов
/ 28 февраля 2012

Мне нужно получить NSString из моего родительского контроллера представления в его дочернее представление.

Итак, у меня есть 'ParentView' ----> 'ChildView'

И мне нужно получитьстрока из ParentView в ChildView.Я попытался добавить метод, который возвращает строку в моем ParentView, и безуспешно вызывал ее в ChildView.

Не работает:

ViewController *vc = [[ViewController alloc] init];
startDateLbl.text = [vc string];

Любая помощь в том, какдля достижения этого будет признателен, спасибо.

Ответы [ 3 ]

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

Самый простой способ - установить свойство для вашей строки в дочернем представлении.

@property (nonatomic, retain) NSString *childString;

Затем передайте вашу строку из родительского представления в дочернее представление до или после того, как вы поместите представление в стек.

ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController"];
vc.childString = parentString;
[self.navigationController pushViewController:vc animated:YES]; // this assumes navController
0 голосов
/ 28 февраля 2012

В зависимости от типа UIViewController у вас может быть доступ к родительскому View Controller.

self.parentViewController.someString (см. Документацию UIViewController).

0 голосов
/ 28 февраля 2012

Эта строка ViewController *vc = [[ViewController alloc] init]; создаст новый объект.

Просто давая вам простой код, надеюсь, вы его получите

ChildViewController *viewController = [[ChildViewController alloc] initWithNibName:@"ChildViewController" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
//here set your label, make sure startDateLbl has getter property
viewController.startDateLbl.text = [vc string];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...