2012-10-26 49 views
-1

我想在NSUserDefaults中保存一些日期(每天用戶輸入日期和例如體重並保存)。我不知道如何做到這一點。我一直在尋找這個解決方案很長一段時間。我應該試試plists嗎? 謝謝在NSUserDefaults中保存日期xCode

+0

此外,這與Xcode沒有**。 – 2012-10-26 17:49:10

回答

1

我不知道如何做到這一點。

這意味着你沒有閱讀this,這是一個罪。

[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"CurrentDate"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
+0

謝謝,愉快的先生! :) – Azman94

0

如果你將有大量的數據,最好是使用比其他NSUserDefaults的東西。在這種情況下,文件可以是正常的,比如plist。如果你想使用nsuserdefaults,這裏是一個簡單的例子。

- (void) viewDidAppear:(BOOL)animated { 
//check if nsuserdefaults has the member value set and if not show them the "login" screen 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *member = [defaults stringForKey:@"member"]; 

if (![member isEqualToString:@"ValidMember"]) { 
    ...do some stuff 
} 

} 寫入NSUserDefaults的使用此

if ([trimMemberLastName caseInsensitiveCompare:[_memberList objectForKey:memberNumber]] == NSOrderedSame){ 
    //set a value in nsuserdefaults so we never have to check this 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:@"ValidMember" forKey:@"member"]; 
    [defaults synchronize]; 

    return YES; 
} 

另外這裏爲plist文件例如:

- (NSString *) getFilePath { 
//get filepath 
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"saved.plist"]; 

}

  • (無效)SAVEDATA { //保存數據01 NSArray * value = [[NSArray alloc] initWithObjects:[myTextField text],[myDatePicker date],nil]; if([value writeToFile:[self getFilePath] atomically:YES]){NSLog(@「它寫了文件」); } NSLog(@「value =%@」,value.description);

}

  • (無效)loadData { //負載數據 的NSString * mypath中= [自getFilePath]; NSLog(@「myPath =%@」,myPath.description); BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:myPath]; if(fileExists){NSArray * values = [[NSArray alloc] initWithContentsOfFile:myPath]; myTextField.text = [values objectAtIndex:0]; NSLog(@「myTextField =%@」,[values objectAtIndex:0]); myDatePicker.date = [values objectAtIndex:1]; NSLog(@「myDatePkcer =%@」,[values objectAtIndex:1]); } }