2010-09-24 1 views
0

У меня есть табличный вид, который отображает даты с использованием NSDateFormatter для их форматирования с использованием стиля Full date (сегодня будет отформатирован как «пятница, 24 сентября 2010 года» или на немецком языке «Freitag, 24. September 2010»). Но при редактировании даты форматировщик заставляет пользователя вводить дату в том же формате. Как я могу заставить formatter принимать даты в разных форматах при вводе? В идеале форматтер должен использовать некоторую эвристику для автоматического определения введенного формата.Как я могу сделать ввод NSDateFormatter в одном формате и отображать его в другом?

Я попытался установить свойство lenient в коде, но это вообще не изменяет наблюдаемое поведение.

Многие программы автоматически определяют введенный формат даты, поэтому это должно быть возможно. Или все они используют свою собственную реализацию?

ответ

0

Может быть, этот раздел Data Formatting Guide может помочь: режим поведения

v10.4 позволяет более конфигурируемости и более локализации; вы должны использовать его для любых новых проектов и в идеале обновить любой существующий код, который использует поведение v10.0 для использования поведения v10.4.

Для обратной бинарной совместимости, поведение по умолчанию для NSDateFormatter на Mac OS X версии 10.4 является поведение v10.0. Однако в Mac OS X версии 10.5 и более поздней версии значение - это поведение v10.4. Вы можете установить поведение по умолчанию всех экземпляров NSDateFormatter к поведению v10.4 путем вызова метода класса , setDefaultFormatterBehavior: с аргументом NSDateFormatterBehavior10_4. Вы можете также установить поведение для любого экземпляра индивидуально, вызвав setFormatterBehavior :.

+0

Это не поможет. При переключении на поведение v10.0 он принимает даты в разных форматах, но игнорирует локаль и настаивает на формате * month.day.year *, который неверен для Германии, где мы используем форму * day.month.year *. – Sven

Смежные вопросы