0

Step1 と Step2 の 2 つのクラスがあります。Step1 には、wrp というテキストフィールドが含まれています。Step1でユーザーがwrpに数値を入力すると、Step2で操作できるようにしたいです。これが私が試したことです(これはStep2のコードです):

int AdditionalDays;

Step1ViewController *wrp1 = [Step1ViewController new];
UITextField *wrp = [wrp1 wrp];
AdditionalDays = [wrp.text intValue];

TotalTotal.text = [[NSString alloc] initWithFormat:@"%i", AdditionalDays];

アプリはエラー メッセージをスローしませんが、ユーザーがステップ 1 で wrp に入力した番号はステップ 2 で無視されます。なぜ機能しないのかわかりません。助言がありますか?

4

3 に答える 3

1

新しいStep1ViewControllerを作成するため

于 2013-02-19T03:11:47.590 に答える
0

これが起こっている理由は、ステップ2であなたが言ったことです:

Step1ViewController *wrp1 = [Step1ViewController new];
UITextField *wrp = [wrp1 wrp];

残念ながら、これはあなたが望んでいることをしていません。あなたのアプリはあなたが何をしようとしているのかわからないので、コードが実際に行っているのは「新しいStep1を作成し、新しいTextFieldも作成してから、この新しい空のTextFieldの値を教えてください」です。

Step2の内部にいて、後方に作業してTextFieldを取得する代わりに、Step1の内部にいて、値をStep2に渡してみてください。

于 2013-02-19T03:12:47.203 に答える
0

この行Step1ViewController *wrp1 = [Step1ViewController new];では、の新しいインスタンスを作成していますStep1ViewController。必要なのは、ユーザーがテキストを入力した元のStep1ViewControllerへの参照を取得することです。

これを行うには、おそらくStep2ViewControllerにプロパティを作成し、Step1ViewController、またはさらに良いことに、ユーザーが入力した値を渡すことができます。

したがって、Step2ViewControllerクラスヘッダーに、次のようなプロパティを追加します。

@property (assign) int additionalDays;

次に、Step2ViewControllerを作成して画面に表示するときに、次のように、このプロパティをユーザーが入力した値に設定します。

Step2ViewController *controller  = [Step2ViewController new];
controller.additionalDays = [wrp.text intValue];
// push the controller on a UINavigationController or something
于 2013-02-19T03:16:22.783 に答える