9

Swift 有一个类接口的概念,称为协议。但是,我似乎无法找到 Swift API 中所有可用协议的完整参考。在哪里可以找到所有协议的列表?

4

4 回答 4

14

好吧,我还没有看到任何文档,但这是我一直在使用的一个技巧(在 XCode 中):

import Swift

…然后 [CMD] - 单击“Swift”,它会将您带到 Swift 标准库的标题。

您可以在其中看到许多协议及其所需的内容,包括文档中看到的那些(esqew 在评论中提到),这有助于理解如何使用标头(至少其中的一些内容有解释)

编辑:

我只记得我在一个 WWDC 视频中看到了“特殊协议”的列表,并截图了 :)

它们是(如幻灯片所示):

  • LogicValueif logicValue {
  • Printable"\(printable)"
  • Sequencefor x in sequence
  • IntegerLiteralConvertible65536
  • FloatLiteralConvertible1.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(在上面提到的文档中都有介绍)

于 2014-06-23T19:12:23.060 回答
1

在哪里可以找到所有协议的列表?

您肯定对所有协议的列表不感兴趣,而是对给定框架中定义的协议感兴趣。因此,也许您需要 UIKit 协议或 iAd 框架协议等。您可以在框架的文档中找到它们。

如果您想查找项目中的所有协议,请使用 Xcode 的符号导航器(项目窗口左上角左起第二个图标,文件导航器图标右侧)。

于 2014-06-23T19:13:10.010 回答
1

也许回答太晚了,但对于其他也想知道它的人来说。

有一个自动生成的 Swift 文档网站,其中包括关于类型、协议、运算符、全局和函数的文档。更改版本也可以查找已删除的协议等。

https://swiftdoc.org/

于 2020-09-15T07:59:00.007 回答
0

对于那些仍在寻找其他协议的人,请尝试以下参考。

https://developer.apple.com/documentation/swift/swift_standard_library/basic_behaviors

于 2021-02-13T21:00:25.907 回答