私はアプリ開発の初心者で、最初の実際のアプリに取り組んでいます。ヘッダー ファイルのプロパティ変数を理解していると思っていましたが、ここで何が起こっているのかわかりません...解決策はありますが、なぜそれが機能するのかわかりません。
別の ViewController から String を渡し、それを自分のプロパティ Variable に書きました。
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 を取得できるのでしょうか?
どうもありがとうございました!