2

我的 viewcontroller.h 中有一个变量声明为

@property (nonatomic) uint size;

在 viewcontroller.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"];

我还想尝试的一件事是声明没有非原子的属性(也许你会因此保留屏幕之间的值!):

@property uint size;
于 2012-06-17T21:24:39.977 回答