Ошибка при разборе NSDate из NSString - PullRequest
2 голосов
/ 04 февраля 2012

Мое приложение зависает, когда я нажимаю на строку, вот код для didSelectRowAtIndexPath, stringDate соответствует строке, подобной этой: Feb 4.

EditView *editController = [[EditView alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:editController animated:YES];

NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
editController.savedString = [cellValue objectForKey:@"label"];

NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSString *stringDate = [cellValue valueForKey:@"date"];

NSDate *parsedDate = [df dateFromString:stringDate];
editController.savedDate = parsedDate;

[editController release];

[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

Я получаю эту ошибкупри нажатии на строку в строке NSString *stringDate = [cellValue valueForKey:@"date"]; с этой ошибкой:

* Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Недопустимый параметр не удовлетворяет: дата'

ОБНОВЛЕНИЕ: Для проанализированной даты установлено значение UIDatePicker в режиме даты и времени, и я просто конвертирую строковую дату в NSDate, который будет использоватьсяс [timePicker setDate:savedDate animated:YES];

я создал cellValue как NSDictionary, который в основном обращается к plist, где я создал NSDictionary, а затем записал его в формате NSStringarray отображает массив plist, поэтому я могу получить к нему доступ, используя [cellValue objectForKey:@"date"]

NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];

1 Ответ

3 голосов
/ 04 февраля 2012

Вам нужно научить форматировщик формату, которому соответствует ваша строка

Это должно быть что-то вроде:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM d"];
...