SWIFT: форматирование из текстового поля в дату не работает - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть функция ниже, где мне нужен ярлык для обновления номера недели на основе выбранной даты.Выбор даты производится с помощью UIDatePicker .

Если я пишу print (selectedDate) Я получаю дату, только что выбранную UIDatePicker, поэтому, похоже, это работает нормально.
Однако, если я напечатаю (selectedDate) Я получу ноль и, следовательно, ошибку в формуле Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение

Здесьмой код:

func selectWeek () {

        let formatter = DateFormatter()

        let pickedDate = dateEntry.text
        let selectedDate = formatter.date(from: pickedDate!)


        if (weekTwoIntervalJan! ... weekThreeIntervalJan!).contains(selectedDate!) {
            weekNrLabel.text = "Week 3"
        }
        else if (weekThreeIntervalJan! ... weekFourIntervalJan!).contains(selectedDate!) {
            weekNrLabel.text = "Week 4"
        }


        else if (startDateFebDate! ... weekOneIntervalFeb!).contains(selectedDate!) {
            weekNrLabel.text = "Week 1"
        }

        else if (weekOneIntervalFeb! ... weekTwoIntervalFeb!).contains(selectedDate!) {
            weekNrLabel.text = "Week 2"
        }
        else if (weekTwoIntervalFeb! ... weekThreeIntervalFeb!).contains(selectedDate!) {
            weekNrLabel.text = "Week 3"
        }
        else if (weekThreeIntervalFeb! ... weekFourIntervalFeb!).contains(selectedDate!) {
            weekNrLabel.text = "Week 4"
        }


        else {
            print("fail")



}

1 Ответ

0 голосов
/ 23 февраля 2019

Как зовут вашего UIDatePicker?.

Возможно, вы захотите сделать (замените datePicker на имя вашего UIDatePicker):

let selectedDate = datePicker.date
...