在视图控制器之间传递数据

问题描述:

对于Objective C和xCode,我还是比较新的,所以请原谅我。在视图控制器之间传递数据

我用下面的代码在我的故事板双视角控制器设置和IM移动到另一个:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 
[self presentViewController:viewController animated:YES completion:nil]; 

现在这个班上控制第二视图控制器我有一个属性的设置,虽然工程巨大,我试图发送数据。我试图如下:

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
UIViewController * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 
viewController.forename = @"Hello World"; 
[self presentViewController:viewController animated:YES completion:nil]; 

虽然这不工作,我得到的是一个错误“PROPERT‘用的名字’在类型‘的UIViewController’的对象未找到”。

任何帮助表示赞赏,如果你能给我留下一些例子代码,那将是太棒了。

您的代码的问题是您访问尚未在内存中创建的uicontrols。你必须改变你的语句的执行顺序,像这样...

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
holidayQuestion * viewController = [storyBoard instantiateViewControllerWithIdentifier:@"stageOne"]; 

[self presentViewController:viewController animated:YES completion:nil]; 
viewController.forename = @"Hello World"; 
+0

不幸的是,我仍然有同样的错误:“属性'forename'未找到类型'UIViewController'” – Adam 2013-02-21 11:14:03

+0

可以确保属性”forename“声明正确或不在该视图控制器? – Ganapathy 2013-02-21 11:17:40

+0

@property(strong,nonatomic)NSString * forename; – Adam 2013-02-21 11:21:08

基本上,对于2个控制器之间传递数据,则可以使用2种设计模式:DelegationObserver.

在你的情况,可以使用委托。你的头文件中是否有名称为forename的公共财产?

+0

该属性定义为:@property(strong,nonatomic)NSString * forename; – Adam 2013-02-21 11:08:38