Swift 有一个类接口的概念,称为协议。但是,我似乎无法找到 Swift API 中所有可用协议的完整参考。在哪里可以找到所有协议的列表?
4 回答
好吧,我还没有看到任何文档,但这是我一直在使用的一个技巧(在 XCode 中):
import Swift
…然后 [CMD] - 单击“Swift”,它会将您带到 Swift 标准库的标题。
您可以在其中看到许多协议及其所需的内容,包括文档中看到的那些(esqew 在评论中提到),这有助于理解如何使用标头(至少其中的一些内容有解释)
编辑:
我只记得我在一个 WWDC 视频中看到了“特殊协议”的列表,并截图了 :)
它们是(如幻灯片所示):
LogicValue
—if logicValue {
Printable
—"\(printable)"
Sequence
—for x in sequence
IntegerLiteralConvertible
—65536
FloatLiteralConvertible
—1.0
StringLiteralConvertible
—"abc"
ArrayLiteralConvertible
—[ a, b, c ]
DictionaryLiteralConvertible
—[ a: x, b: y ]
Literal Convertible 意味着您可以使用文字 a la 分配给它们:
class MyString: StringLiteralConvertible {
…
}
var x: MyString = "asdf"
有趣的是没有提到:Equatable
,和Comparable
(在上面提到的文档中都有介绍)
在哪里可以找到所有协议的列表?
您肯定对所有协议的列表不感兴趣,而是对给定框架中定义的协议感兴趣。因此,也许您需要 UIKit 协议或 iAd 框架协议等。您可以在框架的文档中找到它们。
如果您想查找项目中的所有协议,请使用 Xcode 的符号导航器(项目窗口左上角左起第二个图标,文件导航器图标右侧)。
也许回答太晚了,但对于其他也想知道它的人来说。
有一个自动生成的 Swift 文档网站,其中包括关于类型、协议、运算符、全局和函数的文档。更改版本也可以查找已删除的协议等。
对于那些仍在寻找其他协议的人,请尝试以下参考。
https://developer.apple.com/documentation/swift/swift_standard_library/basic_behaviors