2009-06-09 6 views
3

나는 UIDatePicker를 사용하여 사용자의 생일을 물어 보는 앱을 표준 사용자 기본값으로 저장합니다. 앱이 다시 열리면 다시 날짜를 얻고 UIDatePicker를 해당 날짜로 설정하려고하지만 충돌하고 날짜를 수락하지 않습니다. 그것은 "2009 년 6 월 8 일"형식으로 저장됩니다.UIDatePicker 및 NSDate

어떻게해야합니까?

- (void)viewWillAppear:(BOOL)animated { 
    birthDate = [Preferences getBirthDate]; 
    if (birthDate == nil) { 
     [datePicker setDate:[NSDate date] animated:NO]; 
    }  
} 

내 사용자 현 방법은 자신의 클래스에서 다음과 같이 : 사전에

+ (NSDate *)getBirthDate { 
    // Geting via user defaults.... 
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"DOB"]) 
     return [[NSUserDefaults standardUserDefaults] objectForKey:@"DOB"]; 
    else { 
     return nil; 
    } 
} 

+ (BOOL)setBirthDate:(NSDate *)bDate { 
    //Setting via user defaults 
    [[NSUserDefaults standardUserDefaults] setObject:bDate forKey:@"DOB"]; 
    return [[NSUserDefaults standardUserDefaults] synchronize]; 
} 

감사 이것은 내가 지금 노력하고있어 방법입니다.

답변

1

코드에서 datePicker의 날짜를 생년월일로 설정하지 않았습니다. 이 시도 :

- (void)viewWillAppear:(BOOL)animated { 
NSDate *birthDate = [Preferences getBirthDate]; 
if (birthDate == nil) { 
    birthDate = [NSDate date]; 
} 

datePicker.date = birthDate; 

}

+0

감사합니다! datePicker setDate : birthDate를 사용하여 날짜를 설정하려고했습니다. 원하는 날짜로 설정하지 않으면 그 방법은 무엇을합니까? – Xcoder

+0

[datePicker setDate : birthDate]는 datePicker.date = birthDate와 같습니다. 주요 차이점은 birthDate가 코드에서 nil과 같지 않으면 datePicker의 날짜가 설정되지 않는다는 것입니다. –

+0

예, 알고 있습니다. [datePicker setDate : birthDate]가 충돌했기 때문에 주석 처리했습니다. 그러나 어떤 이유로 datePicker.date는 그렇지 않습니다. 아주 이상한. – Xcoder

1

여기 objDatePicker이 날짜 선택기 개체입니다,

NSDateFormatter *formate = [[NSDateFormatter alloc] init]; 
    [formate setDateFormat:@"dd-MM-yyyy HH:mm:ss"]; 
    NSTimeZone *zone=[NSTimeZone defaultTimeZone]; 
    [formate setTimeZone:zone]; 
    NSDate *date = [formate dateFromString:timeTextField.text]; 
    NSLog(@"Output :%@",date); 
    [objDatePicker setDate:date];