我将如何保存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];