2012-02-28 3 views
0

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

Так что я 'ParentView' ----> 'ChildView'

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

Не работает:

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

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

ответ

0

Эта строка 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]; 
+0

Работал! Благодаря! –

2

Проще всего было бы установить свойство для строки в представлении ребенка.

@property (nonatomic, retain) NSString *childString; 

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

ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController"]; 
vc.childString = parentString; 
[self.navigationController pushViewController:vc animated:YES]; // this assumes navController 
+0

Спасибо за ответ, хотя установка строкового значения работает только если вы настроили его после нажатия на представление. –

+0

yes josh that's right .... после того, как вы нажмете представление, загружается из xib. –

+0

Нет, вы можете назначить значения в любой момент после того, как вы выделите/запустите свое представление. Вы можете назначить их до или после того, как вы нажмете представление. Я делаю это все время. –

0

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

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