Подтвердить что ты не робот

Различие в Swift между прописными буквами "Я" и строчными "я"

Во время игры на игровой площадке Swift я заметил, что Self с капиталом "S" доступен вместе с нижним регистром Self. Есть ли разница между ними? Если да, то каковы используются для этих двух, особенно для Self?

4b9b3361

Ответ 1

Self относится к типу текущей "вещи" внутри протокола (что соответствует протоколу). Пример его использования см. В Функция func возвращает Self.

Единственные официальные документы, которые я нашел для Self, находятся в Протоколе ассоциированного типа на языке Swift Programming. Это удивительно не описано в разделах о протоколах или вложенных типах.

Ответ 2

в протоколе и декларации расширения используйте Self else self

extension protocolName where Self: UIView 
{
  func someFunction()
  {
    self.layer.shadowColor = UIColor.red.cgColor
  }
}