2012-01-09 6 views
0

Я взял baseViewController с UIDatePicker. Я использую этот выбор даты в других viewControllers. Когда я пытаюсь получить дату. Всегда предыдущая дата появляется в журнале. Это происходит в каждом контроллере представления.Получение неправильной даты при использовании выбора даты

получение даты.

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

Пожалуйста, добавьте точку останова ко второму методу и проверьте значение 'dateSelected'. Вы используете ARC? Оба эти метода входят в класс asme? – jrturton

+0

даже в журнале я получаю предыдущую дату ... и да, оба эти метода находятся в одном классе – Sekhar

+0

выглядит как проблема с выбором даты. Значение даты изменило метод возвращает предыдущую дату. – Sekhar

ответ

1

Похоже, вы редактируете значение своей сущности, но вы не сохраняете ее. Попробуйте добавить что-то вроде следующего в конце вашего метода save:

NSError* error = nil; 
[appDelegate.managedObjectContext save:&error]; 
+0

@Sekhar На самом деле дело не в удаче ... Получаете ли вы значение, возвращаемое в переменной 'error'? –

+0

ya его возвращающее значение null – Sekhar

+0

Здесь не так много работы. Вам нужно будет лучше объяснить, что вы пробовали. –

0

В качестве теста, попробуйте избавиться от autorelease, и посмотреть, если ваши изменения в поведении.

+0

нет, он не работает. – Sekhar