Невозможно преобразовать значение типа «Дата» в ожидаемый тип аргумента «Дата» - PullRequest
0 голосов
/ 27 июня 2018

На игровых площадках этот код работает отлично, и я получаю ожидаемый результат точно так, как хочу, но когда я иду, вставив его в свой проект Xcode, я получаю 3 предупреждения с моим startDate , говорящим

Невозможно преобразовать значение типа «Дата» в ожидаемый тип аргумента «Дата»

Вот мой код:

let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MMMM, dd yyyy"
    let date = dateFormatter.date(from: "June, 27 2018")

    if let date = date {
        let calendar = Calendar(identifier: .gregorian)

        var startDate : Date = Date()
        var interval : TimeInterval = 0

        if calendar.dateInterval(of: .weekOfYear, start: &startDate, interval: &interval, for: date) {
            print(startDate)
            let daysToAdd = 6
            var dateComponent = DateComponents()

            dateComponent.day = daysToAdd

            let futureDate = Calendar.current.date(byAdding: dateComponent, to: startDate)

            let dateFormatter1 = DateFormatter()
            dateFormatter1.dateFormat = "MMMM dd-"
            let dateFormatter2 = DateFormatter()
            let startWeek = dateFormatter1.string(from: startDate)
            dateFormatter2.dateFormat = "dd"
            let endWeek = dateFormatter2.string(from: futureDate!)
            results = "\(startWeek)\(endWeek)"
        }
    }

enter image description here

1 Ответ

0 голосов
/ 28 июня 2018

Зеленый цвет текста на Date введите

var startDate : Date = Date()

означает, что у вас есть собственный класс / структура, которая называется Date. Этот человек не может быть преобразован в Foundation.Date.

Во-первых, создавать подобные конфликты имен не очень хорошая идея, но вы можете это исправить, просто используя полное имя:

var startDate = Foundation.Date()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...