неверный вызов инициализатора с тем же типом 'XXXX', что и параметр - PullRequest
0 голосов
/ 08 мая 2018
enum Seat: String{
    case middle
    case aisle
    case window
    case undefined
}

let s : Seat = Seat(rawValue: Seat.middle)

делая это, я получаю

ошибка: неверный вызов инициализатора с тем же типом 'Seat', что и у параметра

Это похоже на простую ошибку. Я искал в Интернете, но ничего не нашел.

1 Ответ

0 голосов
/ 08 мая 2018

Ошибка вполне очевидна.

Параметр rawValue ожидает String. Но вы даете ему сам тип enum.

Вы должны либо сделать:

let s: Seat = .middle
let s = Seat(rawValue: "middle") ?? .undefined
let s = Seat(rawValue: "middle")! // Perhaps this is better, per Alexander's comment

или просто для демонстрационных целей:

let s = Seat(rawValue: Seat.middle.rawValue) ?? .undefined

Я создал эту ошибку, изменив тип моего свойства s с String на Seat. Но так как изменение было сделано в файле, отличном от файла, в котором было определено перечисление ... Я запутался.

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