更改另一个类NSString

时间:2012-08-05 22:55:09

标签: objective-c nsstring

我知道这个问题真的很老了,但我从另一个类访问NSString时遇到了很多麻烦;

假设我有FirstViewControllerSecondViewController,并且Second我希望访问名为string的NSString - FirstViewController - (好吧,我知道这很明显)。这是SecondViewController的代码:

FirstViewController *viewController = [[FirstViewController alloc] init];
NSLog(@"%@", viewController.string);

但结果是(null),因为它从init方法中获取值。

任何人都有一些提示/解决方案可以从声明的任何地方访问string吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您正在执行我认为您正在执行的操作,那么您将在第二个视图控制器中创建新版本的FirstViewController,除非FirstViewController.string在init块中初始化为某个值,将返回一个零值。

我认为你想要的是通过访问已经创建的FirstViewController中的项来获取字符串的值。有多种方法可以执行此操作(取决于您从第一个方面推送SecondViewController以及是否使用Storyboard。

答案 1 :(得分:0)

全局变量可能是你的答案。除非您在标签栏控制器中,否则无法从另一个类“提取”数据。可以将你的值从ViewController1推送到你的ViewController2,但为了拉它,我会说全局变量将为你节省很多麻烦。