2014-06-23 179 views
7

Swift有一個類接口的概念,稱爲Protocols。但是我似乎無法找到Swift API中可用的所有協議的完整參考。我在哪裏可以找到所有協議的列表?參考所有Swift協議?

+1

它看起來不完整,但我想知道[this](https://developer.apple。com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/Equatable.html#// apple_ref/doc/uid/TP40014608-CH17-SW1)是你在找什麼? – esqew

回答

12

嗯,我還沒有看到任何文件,但這裏是我一直在使用(在XCode中)一招:

import Swift 

...,然後按[CMD] - 點擊「雨燕」這需要你Swift std lib的頭文件。

你可以看到很多協議和它們在那裏需要的東西,包括ones seen in the docs(在esqew的註釋中提到),這有助於理解如何使用頭文件(至少有一些東西在那裏有一個解釋)

編輯:

我只記得,我在的WWDC視頻看到一個「特殊協議」的名單,並採取了截圖:)

他們是(按可見幻燈片):

  • LogicValue - if logicValue {
  • Printable - "\(printable)"
  • Sequence - for x in sequence
  • IntegerLiteralConvertible - 65536
  • FloatLiteralConvertible - 1.0
  • StringLiteralConvertible -​​
  • ArrayLiteralConvertible - [ a, b, c ]
  • DictionaryLiteralConvertible - [ a: x, b: y ]

的文字轉換者的意思是你可以爲其分配一個字面一拉:

class MyString: StringLiteralConvertible { 
    … 
} 

var x: MyString = "asdf" 

有趣的是沒有提到:EquatableComparable(這是涵蓋在上述文檔中)

1

我在哪裏可以找到所有協議的列表?

你肯定不感興趣的所有協議,而是在給定的框架中定義的協議的列表。所以,也許你想要UIKit協議或者iAd框架協議等。你可以在框架的文檔中找到它們。

如果您想要在項目中查找所有協議,請使用Xcode的符號導航器(項目窗口左上角的第二個圖標,位於文件導航器圖標的右側)。

+5

我相信他在尋找屬於std庫的協議(其中大部分語言都是定義的) – Jiaaro