可能重复:
How can I save and load the alpha values of a UIButton in an app?
我想保存UIButton的状态(例如它的alpha值以及它是否隐藏),然后在用户退出并重新加载应用程序时加载。
我已经尝试过NSUserDefaults的一些代码,但没有运气。
有人可以帮助一些示例代码,以便我可以保存并加载按钮的状态吗?
谢谢,
詹姆斯
答案 0 :(得分:1)
你能发布一些代码吗?
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];
答案 1 :(得分:1)
与 Shaharyar 的回答相关(我不知道如何发表评论):
在这种情况下,您需要使用NSNumber。
[[NSUserDefaults standardUserDefaults] setValue:[NSNumber numberWithFloat:SOME_FLOAT] forKey:KEY];
因为float
不是对象,但NSNumber
是一个。
编辑:
1)确保在应用程序第一次运行后创建默认值:
在你的AppDelegate的initialize
- 方法:
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"];