从父ViewController获取字符串?

时间:2012-02-28 15:23:30

标签: iphone objective-c cocoa-touch ipad uiviewcontroller

我需要从父视图控制器获取NSString到其子视图。

所以我有'ParentView'----> 'ChildView'

我需要从ParentView获取字符串到ChildView。我已经尝试添加一个方法,该方法在我的ParentView中返回一个字符串,并在ChildView中调用它,但没有运气。

不起作用:

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

对于如何实现这一点的任何帮助将不胜感激,谢谢。

3 个答案:

答案 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

答案 1 :(得分: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];

答案 2 :(得分:0)

根据UIViewController类型,您可以访问父视图控制器。

self.parentViewController.someString(请参阅UIViewController文档)。