我創建了一個簡單的項目,帶有一個「+」和「 - 」按鈕,用於在label
中增加或減少number
。registerDefaults保存數
我想測試registerDefaults
方法,但是如果我點擊「home」按鈕,然後從模擬器(使用我的應用程序的圖標)返回項目,則屏幕上的數字仍然相同。
如何使用此示例測試用戶設置?或者是模擬器的東西,或者如果我使用設備並等待內存警告方法自動刷新項目,它會工作,然後它會工作?
這裏有點我的代碼:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
NSNumber *testValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"kRestore"];
if (testValue){
NSLog(@"already");
viewController.myNum = (int)testValue;
} else {
NSLog(@"empty");
viewController.myNum = 0;
}
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
NSNumber *num = [NSNumber numberWithInt:viewController.myNum];
NSDictionary *savedNumber = [NSDictionary dictionaryWithObject:num forKey:@"kRestore"];
[[NSUserDefaults standardUserDefaults] registerDefaults:savedNumber];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"ok resign active");
}
感謝
謝謝,我不明白你是如何使用它的:你使用'registerDefaults'來保存plist文件到磁盤上(註冊...),但是你什麼時候把'number'保存到plist文件中?另外,你的意思是'Defaults.plist'是一個已經由xcode創建的默認文件,或者我可以將它命名爲'def.plist',並且只需在字典中創建一個帶有數字的'NSNumber'行(在plist中) ?謝謝,對不起,我還不熟悉這種東西;) – Paul
不,registerDefaults'用於設置默認默認值:當用戶還沒有改變他的設置時,應用程序使用什麼。鏈接答案中的plist文件是我自己創建的文件,可以很容易地將所有這些設置集中在一個地方。你可以將它命名爲任何你喜歡的東西,但沒有什麼意義。 –