Swift: после обновления до 4.2 нельзя расширять словарь - PullRequest
0 голосов
/ 26 сентября 2018

До обновления до Swift 4.2 у меня было следующее расширение словаря:

extension Dictionary where Value: Equatable {
    func someKey(forValue val: Value) -> Key? {
        return first(where: { $1 == val })?.key
    }

}

И использовать его в словаре [String:String].

enter image description here

enter image description here

После обновления до 4.2 не удалось выполнить компиляцию с: такого метода не существует

Есть ли изменения в определении словаря в 4.2?

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Возможно, вы не добавили файл, в котором ваше расширение правильно расположено в вашем проекте.

Перейдите к цели вашего проекта> Фазы сборки> Исходники компиляции и проверьте, указан ли там ваш файл Swift, содержащий расширение вашего словаря, если нет, нажмите знак плюс и добавьте его.После этого вы сможете использовать методы расширения в любом месте вашего проекта.

0 голосов
/ 27 сентября 2018

@ Лео Дабус был прав в этом комментарии.По некоторым причинам файл расширения не был в моих источниках компиляции.

enter image description here

Когда я добавляю его в исходный код компиляции, все работает нормально

...