gpt4 book ai didi

class - 从 AnyObject 扩展的协议(protocol)和仅类协议(protocol)之间有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 04:59:58 25 4
gpt4 key购买 nike

这两个声明

protocol SomeProtocol : AnyObject {
}

和这个声明

protocol SomeProtocol : class {
}

似乎只有类才能符合此协议(protocol)(即协议(protocol)的实例是对对象的引用),并且没有其他影响。

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

我使用的是最新发布的 Xcode 6.3.1。

最佳答案

官方 Swift 开发人员 (Slava_Pestov) 在 Swift forums 上回答了这个问题.以下是摘要:

  • 您应该使用 AnyObject(协议(protocol) SomeProtocol: AnyObject)。

  • AnyObjectclass 是等价的。没有区别。

  • class 最终将被弃用。

关于class - 从 AnyObject 扩展的协议(protocol)和仅类协议(protocol)之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com