2015-11-04 2 views
3

Я создал двух датпикеров, в которых пользователь может ввести желаемую дату и время.Задайте начальное значение выбора даты с использованием данных ядра

image of the datepickers

Когда пользователь нажимает на кнопку сохранить, введенные значения сохраняются в основных данных, используя следующий код:

let dateFormatter = NSDateFormatter() 
    dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle 
    dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle 

    let timeFormatter = NSDateFormatter() 

    timeFormatter.dateStyle = NSDateFormatterStyle.NoStyle 
    timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle 

    dateOfEntry = dateFormatter.stringFromDate(entryDate.date) //entryDate is the name of the IBOutlet of the first date picker. 

    timeStarted = timeFormatter.stringFromDate(startTime.date) //startTime is the name of the IBOutlet of the second date picker. 

Это сохраняет дату как: 4 ноя 2015 а также время как: 11:15 утра который я затем сохранить в Core Data с помощью

entry.setValue(dateOfEntry, forKey: "date") 

entry.setValue(timeStarted, forKey: "startTime") 

мне было интересно, если г t для меня можно использовать эти сохраненные значения, чтобы позднее установить начальные значения отдельного набора выбора даты, когда пользователь открывает другой контроллер представления.

+0

Почему бы и нет? Извлеките даты из вашего управляемого объекта и обновите свой выбор даты на 'viewDidLoad'. Что не работает? – Mundi

+0

Я не уверен, как обновить подборщики даты. @Mundi – Sachin

+1

'datePicker.date = someDate'. Вы должны найти это в документации. – Mundi

ответ

0

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

Возможная проблема с этим подходом заключается в том, что stringFromDate использует локальные настройки на устройстве (стране, языке) для форматирования этой строки, поэтому, например, люди, запускающие приложение в США, будут иметь другой формат, чем люди в Германии.

Возможно, что вы хотите сделать, это объединить выбранные вами варианты выбора даты и времени, выбрав один из NSDate, а затем сохранить эту комбинированную дату непосредственно в основных данных.

Это немного больше работы авансом, когда вы создаете объект, но вы получаете некоторые преимущества:

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