u1Option是一个Option(自定义类)对象在我的ViewController视图DidLoad中声明并调用为:
- (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,则不会传递任何内容,并且当我获得";测试";字符串,相反,我在Test2NSLOG中得到NULL。
- (IBAction)addFirstOption:(UIButton *)sender {
NSLog(@"Test2 Result: %@", u1Option.name);
}
viewDidLoad
一返回,Option
实例就会被销毁。您需要将其放入属性或实例变量中。如果它已经是一个属性或实例变量,那么您正在重新定义它,所以使用:
u1Option = [[Option alloc] init];
并且将来使用self.u1Option
或_u1Option
可以避免这个问题。