请看下面的代码。如何从另一个类设置NSString *属性?
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)'。
构建中没有任何警告。请帮助任何人。非常感谢!
给版主:对不起,有人删除了同一个前面的问题,当我要求删除它的所有评论。
FirstViewController是否已初始化?同样在你设置inputData的第三次尝试中,如果@property指令被设置为复制或保留,则不需要保留调用,这实际上会导致内存泄漏。 –
您确定firstViewController在buttonSaveDown方法中有效吗?如果它为零,那么这些都不会起作用。 – Flyingdiver