我是应用程序开发的新手,正在开发我的第一个真正的应用程序。我以为我理解了头文件中的属性变量,但我并没有真正了解这里发生了什么......我有一个解决方案,但不明白它为什么会起作用。
我从另一个 ViewController 传递了一个字符串,并将它写在我的属性变量中:
视图控制器.h:
@property(weak, nonatomic) NSString *Gender;
现在我的 viewDidLoad ( ViewController.m ) 开始了:
- (void)viewDidLoad{ [super viewDidLoad];
self.TestLabel.text = _Gender; ...}
一切都很好,标签显示了我的字符串。但是当我按下我的按钮“重置”(仍然是 ViewController.m)时:
- (IBAction)ButtonReset:(id)sender { [self viewDidLoad] }
一切都像以前一样工作,但我的标签是空的,它就像字符串不存在一样。
我通过尝试提出的解决方案:
在我的 ViewController.m 中添加一个全局变量
NSString *boygirl;
然后将我的原始代码更改为:
- (void)viewDidLoad{ [super viewDidLoad];
boygirl = _Gender;
self.TestLabel.text = boygirl; ...}
......为什么会这样?有没有更优雅的方式?如果在我的原始代码中无法调用 Gender ......为什么 boygirl 可以再次获得 Gender ?
非常感谢你!