我将如何保存UIButton的属性并加载一个button?

可能重复:
如何在应用程序中保存和加载UIButton的alpha值?

我想保存UIButton的状态(例如,它的alpha值,以及是否隐藏),然后当用户退出并重新加载应用程序时,这将加载。

我已经用NSUserDefaults尝试了一些代码,但没有运气。

有人可以帮助一些示例代码,以便我可以保存和加载button的状态?

谢谢,

詹姆士

Shaharyar的回答(我不知道如何评论):

在这种情况下,你需要使用NSNumber。

[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithFloat:SOME_FLOAT] forKey:KEY];

因为float不是一个对象,但NSNumber是一个。

编辑:

1)确保你的默认值是在应用程序第一次运行之后创build的:在你的AppDelegate的initialize -method中:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithFloat:SOME_FLOAT], @"YOUR_KEY", nil]; [defaults registerDefaults:appDefaults]; 

2)更新后的默认值:

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setFloat:FLOAT_VALUE forKey:@"YOUR_KEY"]; [prefs synchronize]; 

3)读取默认值:

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; float FLOAT_VALUE = [prefs floatForKey:@"YOUR_KEY"]; 

你可以发布一些代码吗?

NSUserDefaults是存储这些信息的地方。

假设:

在设置值之后,你是否打了一个[NSUserDefaults synchronize]的调用?


码:

 // Setting a value [[NSUserDefaults standardUserDefaults] setValue:VALUE forKey:KEY]; [[NSUserDefaults standardUserDefaults] synchronize]; // Getting a value NSString *var1 = [[NSUserDefaults standardUserDefaults] valueForKey:KEY]; 

在你的情况下,这将是:

 // Setting a value [[NSUserDefaults standardUserDefaults] setFloat:VALUE forKey:KEY]; [[NSUserDefaults standardUserDefaults] synchronize];