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/

10-08 20:51