我带了一个带有UIDatePicker的baseViewController。我正在其他viewControllers中使用这个日期选择器。当我想要一个date.always时,前一个日期显示在log.this发生在每个视图控制器。
获取日期选择器。
self.datePicker = [[[UIDatePicker alloc] init] autorelease];
self.datePicker.datePickerMode = UIDatePickerModeDate;
[self.datePicker addTarget:self action:@selector(dateValueChanged:) forControlEvents:UIControlEventValueChanged];
[self.datePicker resignFirstResponder];
使用日期选择器从文本字段中获取值。
- (IBAction)dateValueChanged:(id)sender
{
UIDatePicker *picker = (UIDatePicker *)sender;
dateSelected = [picker date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
if (self.field.tag == 101)
self.field.text = [dateFormatter stringFromDate:dateSelected];
NSLog(@"%@",dateSelected);
}
答案 0 :(得分:1)
看起来你正在编辑你的实体的价值,但你并没有坚持它。尝试在save
方法的末尾添加以下内容:
NSError* error = nil;
[appDelegate.managedObjectContext save:&error];
答案 1 :(得分:0)
作为测试,尝试摆脱自动释放,看看你的行为是否发生了变化。