u1Option是一个Option(自定义类)对象,它是
在我的ViewController viewDidLoad中声明和调用为:
- (void)viewDidLoad {
[super viewDidLoad];
Option *u1Option = [[Option alloc]init];
[u1Option setName: @"test"];
NSLog(@"Test1 Result: %@", u1Option.name);
}
Option是从NSObject继承的自定义类,并具有在Option.h中声明的属性:
@property NSString *name;
但是,如果尝试在IBAction中使用u1Option,则不会传递任何内容,而当我在Test1 NSLOG中获得“test”字符串时,相反,我在Test2 NSLOG中将变为NULL。
- (IBAction)addFirstOption:(UIButton *)sender {
NSLog(@"Test2 Result: %@", u1Option.name);
}
不幸的是,我在其他帖子中找不到任何答案。
提前Tnxs。
最佳答案
Option
返回后,就会立即销毁viewDidLoad
实例。您需要将其放在属性或实例变量中。如果它已经是属性或实例变量,那么您要重新定义它,所以请使用:
u1Option = [[Option alloc] init];
并且可以通过使用
self.u1Option
或_u1Option
避免此问题。关于ios - 在viewDidLoad之外时为NULL自定义类对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25712536/