0

私がやろうとしているのは、FirstViewController.mファイルの計算変数をSecondViewController.mファイルのテキストフィールドに表示することです。これを行うために私が見つけた最も簡単な方法は(おそらく最善ではありませんが)、NSUserDefaultsを使用することでした。私が直面している問題は、アプリを使用しているときに最初のタブに戻って変数の値を変更すると、2番目のタブのテキストフィールドが更新されて、戻ったときにこれが反映されないことです。ユーザーがボタンを押さなくても自動的に変更されるようにしたい。これを行う方法はありますか?また、2番目のクラスから変数にアクセスするためのより良い方法は非常に便利です。

//FirstViewController.m

//Calculation of epleyInt using other text fields and pressing a button.

[epleyField setText:[NSString stringWithFormat:@"%i", epleyInt]];

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
[settings setInteger:epleyInt forKey:@"epley"];
[settings synchronize];

//SecondViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
int epleyInt = [settings integerForKey:@"epley"];

[epley10Field setText:[NSString stringWithFormat:@"%i", epleyInt]];
}
4

1 に答える 1

0

シングルトン変数を使用し、コードを移動してテキストフィールドをviewDidAppearメソッドに更新することに成功しました。

私はこれが非常に役立つと思いました:Xcodeのクラス間での変数の単純な受け渡し

于 2012-09-04T16:48:59.193 に答える