[英]How to save the state of a UISwitch to file
關於stackoverflow的類似問題產生了以下組合:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:switchState forKey:@"mySwitchValueKey"];
和
BOOL swichState = [userDefaults boolForKey:@"mySwitchValueKey"];
我一直在嘗試研究NSUserDefaults,但我既不了解這些代碼的用途,也不了解它們在程序中的位置。
誰能告訴我他們要去哪里? 為什么下面的代碼不起作用?
- (void)viewDidLoad
{
[super viewDidLoad];
BOOL switchState = [[NSUserDefaults standardUserDefaults] boolForKey:@"mySwitchValueKey"];
if (switchState == YES) {
[hard1ON setOn:TRUE];
} else {
[hard1ON setOn:FALSE];
}
}
- (IBAction)switchValueChanged
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:switchState forKey:@"mySwitchValueKey"];
if (hard1ON.on) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"theChange" object:nil];
} else {
[[NSNotificationCenter defaultCenter] postNotificationName:@"theChange2" object:nil];
}
}
這兩個語句用於創建一個實例NSUserDefaults
,然后設置switchState
在standardUserDefaults
,與您的應用程序。
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:switchState forKey:@"mySwitchValueKey"];
switchState
必須在此聲明與上述任何地方宣布BOOL switchState
。
從該語句中BOOL swichState = [userDefaults boolForKey:@"mySwitchValueKey"];
boolValue被讀回到swichState。
假設switchState是類的本地屬性,則以上代碼應在更改,翻轉或移動到另一個視圖時調用的方法中。
如果它是全局的或共享的,則可以在任何地方,最合適的地方是applicationSholdTerminate:
有關更多詳細信息,請檢查此鏈接 ,它可能為您提供有關NSUserDefaults的簡短描述。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.