请查看以下代码。
FirstViewController.h:
@interface FirstViewController : UIViewController {
NSString* inputData;
}
@property (nonatomic, copy/retain) NSString* inputData;
FirstViewController.m:
@synthesize inputData;
SecondViewController.m:
- (IBAction)buttonSaveDown {
[firstViewController setInputData:@"Text"];
firstViewController.inputData = @"Text";
firstViewController.inputData = [[NSString stringWithString:@"Text"] retain];
}
使用inputData在每一行之后添加断点。检查firstViewController.inputData - 它是'(null)'!为什么呢?
Printing description of inputData:
(null)
此外,我在调试器中尝试“编辑值”。设置值后,结果也是'(null)'。
构建时没有任何警告。请帮助任何人。非常感谢!
致版主:抱歉,当有人要求删除相关评论时,有人删除了上一个相同的问题。
答案 0 :(得分:3)
您的firstViewController
变量未设置为任何内容。您需要将它设置为FirstViewController的有效实例,然后才能对它执行任何有用的操作。
答案 1 :(得分:1)
只需使用
@property (nonatomic, retain) NSString* inputData;
然后这些都应该有效:
[firstViewController setInputData:@"Text"];
firstViewController.inputData = @"Text";
firstViewController.inputData = [NSString stringWithString:@"Text"];