Я работаю над программой, которая сравнивает значения даты и устанавливает начальную дату, если вновь выбранная дата меньше, чем dateStart, и устанавливает dateEnd, если вновь выбранная дата больше, чем dateStart.
код работает хорошо, когда я выбираю большие значения (при установке dateEnd), но программа вылетает, когда я пытаюсь установить dateStart.вот мой код:
- (void)setDate:(NSDate *)dateVal
{
NSComparisonResult result = [dateVal compare:dateStart];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd.MM.yyyy 00:00:00"];
switch (result)
{
case NSOrderedAscending:
{
dateStart = dateVal;
[dateFormatter setDateFormat:@"dd.MM.yyyy 00:00:00"];
[lblDateStart setText:[dateFormatter stringFromDate:dateStart]];
} break;
case NSOrderedDescending:{
dateEnd = dateVal;
[dateFormatter setDateFormat:@"dd.MM.yyyy 23:59:59"];
[lblDateEnd setText:[dateFormatter stringFromDate:dateEnd]];
} break;
case NSOrderedSame: NSLog(@"%@ is the same as %@", dateStart, dateVal); break;
default: NSLog(@"erorr dates %@, %@", dateStart, dateVal); break;
}
}
Код выдает ошибку EXC_BAD_ACCESS при
NSComparisonResult result = [dateVal Compare: dateStart];
при выбоременьшее значение даты в представлении календаря.
Я одновременно установил dateStart и dateEnd в качестве свойства и [[NSDate alloc] init] для них обоих в начале.пожалуйста, помогите.