我需要从父视图控制器获取NSString到其子视图。
所以我有'ParentView'----> 'ChildView'
我需要从ParentView获取字符串到ChildView。我已经尝试添加一个方法,该方法在我的ParentView中返回一个字符串,并在ChildView中调用它,但没有运气。
不起作用:
ViewController *vc = [[ViewController alloc] init];
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
答案 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文档)。