Позвольте мне вначале сказать, что я ОЧЕНЬ новичок в разработке для iphone, но я очень стараюсь учиться, поэтому любая помощь, которую любой из вас, профессионалов, готов поделиться, очень ценится! Так что у меня есть вопрос, который был бы ТАК удивительным, если бы кто-то мог ответить за меня Я изучаю еще несколько основных данных и использую пример основных данных с веб-сайта Apple для разработчиков, найденный здесь . Это довольно прямолинейное приложение, но я пытаюсь что-то изменить, и я не могу понять, как это сделать, и это сводит меня с ума !!! Собственно, приложение показывает автора в заголовке раздела табличного представления с заголовком в ячейке. Я хотел бы изменить это и установить дату авторского права (один из атрибутов книги) в качестве заголовка раздела. Прямо сейчас я могу заставить это показать, но это показывает дату в этом формате:
2009-12-01 10:11:31 -0700
Но это не тот формат, я хотел бы использовать этот формат:
вторник, 1 декабря
Вероятно, используя этот код:
NSDateFormatter * outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat: @ "EEEE MMMM d"];
NSString * date = [outputFormatter stringFromDate: [NSDate date]];
но проблема в том, что значение даты поступает из средства выбора даты, и я не могу понять (со всем этим безумным «ключевым» делом), как отформатировать значение даты, полученное из средства выбора, и поместить его на заголовок раздела. Если у вас есть какое-то время, чтобы перейти по ссылке на сайт Apple выше и ковыряться, пока вы не ответите на мою дилемму, ЭТО БЫЛО ТАК ОЦЕНОЧНО !!!! Спасибо.
Хорошо, вот мой код, который я вставил в метод сохранения:
// Pass current value to the edited object, then pop.
if (editingDate) {
NSString *rawDate = (NSString *)datePicker.date;
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = (NSDate *)[outputFormatter dateFromString:rawDate];
[outputFormatter setDateFormat:@"EEEE MMMM d"];
NSString *formattedDateStr = (NSString *)[outputFormatter stringFromDate:date];
[editedObject setValue:(NSDate *)formattedDateStr forKey:editedFieldKey];
}
А потом по какой-то причине дата просто не сохранится в приложении, и компилятор выдает эту ошибку:
Отладчик вышел со статусом 0.
[Сессия началась в 2009-12-02 09:51:26 -0700.]
2009-12-02 09: 51: 47.342 CoreDataBooks [17981: 20b]
* - [__NSCFDate length]: нераспознанный селектор отправлен на экземпляр 0x3e79850
2009-12-02 09: 51: 47.343 CoreDataBooks [17981: 20b] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «*** - [__NSCFDate length]: нераспознанный селектор, отправленный экземпляру 0x3e79850»
Вероятно, это просто быстрое решение, я надеюсь, что, по крайней мере, нахожусь в правильном полушарии с точки зрения кода, еще раз спасибо за любую помощь или понимание, у вас есть время предложить.