当前位置 : 主页 > 大数据 > 区块链 >

从AnyObject扩展的协议和仅类协议之间有什么区别?

来源:互联网 收集:自由互联 发布时间:2021-06-22
这两个声明 protocol SomeProtocol : AnyObject {} 和本声明 protocol SomeProtocol : class {} 似乎使得只有类可以符合这个协议(即协议的实例是对对象的引用),并且没有其他效果。 它们之间有什么区别
这两个声明

protocol SomeProtocol : AnyObject {
}

和本声明

protocol SomeProtocol : class {
}

似乎使得只有类可以符合这个协议(即协议的实例是对对象的引用),并且没有其他效果。

它们之间有什么区别吗?应该优先于另一个?如果不是,为什么有两种方法做同样的事情?

我使用最新发布的Xcode 6.3.1。

AnyObject是所有类都隐式遵循的协议( source)。所以我会说没有区别:你可以使用要么类约束。
网友评论