2013-02-24 64 views
0

我想在mainViewController的TextView中打印一个NSString。但是这个命令应该来自第二个ViewController。我在mainViewController.h中声明了一个字符串,但在secondViewController.m中需要这个字符串! (文本应该打印在mainViewController中)。当我想访问这个字符串时,它说Xcode不知道这个变量。我怎样才能创建一个字符串/变量,我可以从我所有的ViewControllers(xib!)编辑和打印?许多视图控制器编辑NSString?

+1

如何使变量公共静态?这样,mainViewController不需要实例吗? – Jeff 2013-02-24 17:40:48

+0

我该怎么做? – 2013-02-24 17:42:13

+0

我不知道; Obj-C超出了我的舒适区。然而,快速谷歌给了我像'extern'或'static' – Jeff 2013-02-24 17:45:35

回答

1

这听起来像你想在两个视图控制器之间共享一个模型。这是正确的MVC方法,因此只需要视图控制器中的一个更改模型中的值,并将通知所有其他视图控制器并且可以更新其各自的视图:

请看一下this excellent article如何实施。

0

刚刚宣布,在经过sharedApplication方法。在你的情况下,任何的ViewController的AppDelegate &访问的NSString变量分配在secondViewController值,它&访问,在mainViewController值

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
NSLOg(@"Nsstring value=%@",appDelegate.stringVariable); 

分配值:[email protected]"fromSecondViewController");

+0

不工作或我傻:/ 当我把这个在我的AppDelegate我得到这个错误: 的第一行代码: (ERROR)初始化器元件是不是编译时间常数 的代码第二行: (警告)类型说明符缺失,默认为“INT” (警告)库功能的不兼容的重声明“的NSLog” (ERROR )期望参数声明 (错误)预期')' – 2013-02-25 21:02:41

相关问题