Swift在大写“自我”和小写“自我”之间的区分

当我在斯威夫特的游乐场玩耍时,我注意到大写字母“S”的Self与小写字母一起可用。 他们之间有什么区别? 如果是这样,那么这两个用途是什么,特别是对于Self

Self指协议内的当前“事物”的types(不pipe符合协议)。 有关其使用的示例,请参阅协议func返回自我 。

我发现的唯一官方文档是在Swift编程语言中的协议关联types声明 。 令人惊讶的是没有logging在协议部分或嵌套types。

在协议和扩展声明使用自我其他自我

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