コア データを使用してエンティティをデータベースに追加しています。年齢を計算するフィールドがあります。ピッカーを使用して誕生日を入力すると、日付ピッカーで選択された内容に従ってテキストフィールドのテキストが設定されます。編集可能なエンティティの詳細ビューという別のビューがあります。残念ながら、ピッカーが読み込まれると、すでに設定されているテキストフィールドの日付ではなく、今日の日付が読み込まれます。テキストフィールドを使用してピッカーの日付を設定する方法はありますか? テキストは次の形式です: 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];
}
}