0

コア データを使用してエンティティをデータベースに追加しています。年齢を計算するフィールドがあります。ピッカーを使用して誕生日を入力すると、日付ピッカーで選択された内容に従ってテキストフィールドのテキストが設定されます。編集可能なエンティティの詳細ビューという別のビューがあります。残念ながら、ピッカーが読み込まれると、すでに設定されているテキストフィールドの日付ではなく、今日の日付が読み込まれます。テキストフィールドを使用してピッカーの日付を設定する方法はありますか? テキストは次の形式です: 1997 年 8 月 11 日。説明が不十分でしたら申し訳ありません。基本的に、テキストフィールドのテキストに基づいて日付ピッカーの日付を設定したいと考えています。

何が起こっているのかがわかるように:

- (void) dateChanged:(id)sender{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateStyle = NSDateFormatterLongStyle;
    birthdayTextField.text = [NSString stringWithFormat:@"%@",
                   [dateFormatter stringFromDate:birthdayDatePicker.date]];

    [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
    NSString *startdate= [NSString stringWithFormat:@"%@",
                          [dateFormatter stringFromDate: birthdayDatePicker.date]];

    NSDate *End=[dateFormatter dateFromString:[dateFormatter stringFromDate:[NSDate date]]];

    NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [gregorianCalendar components:NSYearCalendarUnit
                                                        fromDate:[dateFormatter dateFromString:startdate]
                                                          toDate:End
                                                         options:0];
    if(components.year > 0){
    ageTextField.text=[NSString stringWithFormat:@"%d",components.year];
    }
}
4

3 に答える 3

0
  NSDateFormatter *dateFormat;
      dateFormat = [[NSDateFormatter alloc] init];
     [dateFormat setDateFormat:@"h:mm a"];
      NSDate *exampleDateFromString =[dateFormat dateFromString:@"8:48 AM"]; 
      date-picker.minimumDate=exampleDateFromString;
     [date-picker setDate:exampleDateFromString];
于 2014-09-23T06:54:22.627 に答える