方法内部使用Self
可以用于获取当前类的静态变量(不管是在实例方法里还是静态方法里)
协议中使用Self
1.可以限定遵守协议的数据类型
如果是类,那么该类及其子类都可以遵守该协议
protocol SelfProtocol where Self: UIViewController {
func returnSelf() -> Self
}
上面的代码中UIViewController及其子类都可以遵守SelfProtocol
2.用于方法的返回值
只能返回方法调用者本身
extension SelfProtocol {
func returnSelf() -> Self {
return self
}
}
网友评论