Для чего используется.self после имени класса? Свифт 3
Недавно я заметил, что некоторые коды инициализируют экземпляры, такие как ClassName.self(), например:
let realm = try! Realm.self()
Из выходных данных и использования в последующем, все равно, что без него - Realm()
Есть ли какая-то конкретная причина или использование для выполнения init с.self?
1 ответ
Это несколько спекуляция, но я считаю, что места, которые используют Type.self()
в контексте Царства следует неверно понятое соглашение, которое следовало (некоторые неуместно) эффектам команды Swift, устраняющей ошибку
Следующий коммит команды Realm готовился к ожидаемому решению вышеуказанной ошибки:
Возможно, что изменения в коммите выше (Type
обновлено до Type.self
в надлежащем контексте) вдохновил кодовые базы, которые используют Realm, чтобы также использовать Type.self
в контексте инициализатора, т.е. Type.self()
, Это, однако, избыточное использование .self
суффикс.