2012-02-03 44 views
0

我只想从我的第二课中的第一个类访问NSString。在另一个类中使用NSString

我曾经在我的第一类和属性这样的:

NSLog(@"The text is: %@", self.fileText); 

返回我的第一类正确的字符串。

但在我的第二课堂,这样的:

FirstViewController* controller = [[FirstViewController alloc] init]; 
NSLog(@"text: %@", controller.fileText); 

返回(空)。

我正确导入了类。 我能做什么错?

+0

你添加FILETEXT到您的.h文件中,并合成在.m文件? – Louie 2012-02-03 17:45:23

回答

2

使用此

//in your first class 
NSUserDefaults *strinToSave= [NSUserDefaults standardUserDefaults]; 
[strinToSave setObject:self.fileText forKey:@"filTextString"]; 

,并在第二类检索保存的数据,使用:

NSString *yourString=[[NSUserDefaults standardUserDefaults] valueForKey:@"filTextString"]; 
//use yourString however you want 

NSLog(@"%@",yourString); 
0

考虑到第二类是第一类的子类,或者是类的实例(这似乎更可能)。

请确定你在FirstViewController的初始块中正在做什么,因为这就是第二个实现所要求的,如果你没有在那里初始化你的字符串,那么这个值将是null。所以,请检查。

+0

好吧,我明白了。问题是该字符串在didSelectRowAtIndexPath中初始化,因为我需要indexPath.row,但我无法在viewDidLoad中访问它 – derFalke 2012-02-03 17:40:45

+0

好吧,所以这就是问题所在。嗯为什么你不会在'didSelectRowAtIndexPath'方法中初始化你的新视图?否则,该字符串将是空的。一个建议是将这个问题标记为已回答,并可能创建一个新问题并重点关注具体问题。 – 2012-02-03 17:45:50