2

viewcontroller.hに次のように宣言された変数があります

@property (nonatomic) uint size;

viewcontrooler.mで、ボタンが押されたときにこの変数に値を設定しました。

問題は、ビューを変更して戻ったときに、変数の値が失われることです。

私はそれを解決するために何ができますか?ViewController.mで使用するだけなので、グローバル変数として宣言する必要はありません。

4

1 に答える 1

3

私がすることはviewWillDissapear、値を保存することです

[[NSUserDefaults standardUserDefaults] setObject:[NSString stringWithFormat:@"%i", size] forKey:@"mySize"];

そして、viewWillAppearでこの値を取得するだけです

size = [[[NSUserDefaults standardUserDefaults] objectForKey:@"mySize"] intValue];

次に、アプリから値を削除する場合は、次を使用します。

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"mySize"];

私が試みることの 1 つは、非アトミックなしでプロパティを宣言することです (そのため、画面間で値が保持される可能性があります!):

@property uint size;
于 2012-06-17T21:24:39.977 に答える