我很清楚仅类协议(protocol)的用法。我知道我可以做类似的事情:
protocol HashableClass: class, Hashable {}
但我想知道是否可以创建仅类扩展:
extension Hashable: class {} / extension Hashable where Self is class {} ??
第二个问题是:是否可以创建非类协议(protocol)(类协议(protocol)的对应部分)?
提前谢谢你。
最佳答案
所有类都隐含地符合AnyObject
,因此您可以定义
一个“仅限类的扩展”
extension Hashable where Self: AnyObject {
}
(protocol Foo: class
之间似乎也没有区别
和 protocol Foo: AnyObject
,比较
What's the difference between a protocol extended from AnyObject and a class-only protocol? .)
据我所知,将协议(protocol)限制为非类类型是—— 不可能。
关于swift - 是否可以为协议(protocol)创建仅类扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572470/