在應用程式關閉之後(並非退到背景),可將相關變數儲存起來,以便下次啟動時使用。應用程式狀態的存取,這裡示範的是布林狀態(Boolean),其他的型態變數則以此類推。(View-based Template)
//宣告一個指標(Key),此指標必須是NSString型態,這個指標將在應用程式結束時儲存變數值。
NSString *State1Key = @"stateKey1";
NSString *State2Key = @"stateKey2";
NSString *State3Key = @"stateKey3";
NSString *State4Key = @"stateKey4";
NSString *State5Key = @"stateKey5";
//當Switch改變時被呼叫的函式
-(IBAction) State1Switched:(id)sender {
//將該Switch的狀態存在自行定義的BOOL型態變數中
onState1 = State1Switch.on;
//將BOOL型態變數,存入指標(Key)內永久保存,直到該應用程式被移除
[[NSUserDefaults standardUserDefaults] setBool:onState1 forKey:State1Key];
}
//自行定義的函式,目的是在程式一開始執行時就取得上次執行結束前的相關狀態
-(void) LoadStateData {
//從指標(Key)中取出先前所保留的BOOL參數值
onState1 = [[NSUserDefaults standardUserDefaults] boolForKey:State1Key];
onState2 = [[NSUserDefaults standardUserDefaults] boolForKey:State2Key];
onState3 = [[NSUserDefaults standardUserDefaults] boolForKey:State3Key];
onState4 = [[NSUserDefaults standardUserDefaults] boolForKey:State4Key];
onState5 = [[NSUserDefaults standardUserDefaults] boolForKey:State5Key];
//將取出的參數值賦予Switch
State1Switch.on = onState1;
State2Switch.on = onState2;
State3Switch.on = onState3;
State4Switch.on = onState4;
State5Switch.on = onState5;
}
請問下~在onState1 出現錯誤 Use of undeclared ' onState1' 可是不是//將該Switch的狀態存在自行定義的BOOL型態變數中
回覆刪除布萊恩 你好:
刪除你要自行定義 onState1為bool型態,他這邊的意思是你沒有宣告onState1。
感謝
回覆刪除