Это перечисление двух разных типов? - PullRequest
0 голосов
/ 19 мая 2018

Я следую учебному пособию и заметил, что автор (ы) объявил это перечисление с несколькими типами.Исходя из того, что я прочитал в Интернете из стандартной библиотеки Swift, я понимаю, что перечисления могут быть определенного типа, и перечисления не поддерживают наследование.Это перечисление типа String и CodingKey?Или регистр имени является типом String, а регистр элементов - типом CodingKey?

private enum CodingKeys: String, CodingKey {
        case name
        case items
    }

1 Ответ

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

Это не наследование, это две вещи:

  1. A необработанное значение .Это специальная форма, в которой указывается «вспомогательное значение», используемое для представления случаев enum.В данном случае это String.Когда перечисление выбрало необработанное значение String, но регистр не указывает необработанное значение, имя регистра неявно предполагается в качестве исходного значения регистра.
  2. Предложение о соответствии протокола, который заявляет, что это перечисление соответствует CodingKey.
...