2014-06-23 10 views
7

Swift hat eine Vorstellung von Klasse Schnittstellen, genannt Protocols. Ich kann jedoch keine vollständige Referenz aller in der Swift-API verfügbaren Protokolle finden. Wo finde ich eine Liste aller Protokolle?Verweis auf alle Swift-Protokolle?

+1

Es sieht nicht annähernd vollständig aus, aber ich frage mich, ob [dies] (https://developer.apple.com/library/prerelease/ios/dokumentation/Allgemein/Referenz/SwiftStandardLibraryReference/Equatable.html # // apple_ref/doc/uid/TP40014608-CH17-SW1) ist das, was Sie suchen? – esqew

Antwort

12

Nun, ich habe keine Unterlagen gesehen, aber hier ist ein Trick, den ich (in XCode) habe mit:

import Swift 

... und dann [CMD] - Klicken Sie auf "Swift", die Sie nimmt zu die Header für die Swift-Standard-Lib.

Sie können viele Protokolle und was sie dort benötigen, einschließlich der ones seen in the docs (erwähnt in den Kommentaren von esqew), die für das Verständnis der Verwendung der Header hilfreich ist (zumindest einige der Dinge in dort haben eine Erklärung)

Edit:

ich nur daran erinnert, dass ich eine Liste der "Special-Protokolle" in einer der WWDC Videos gesehen und nahm einen Screenshot :)

Sie sind (wie in der gesehen Folie):

  • 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 ]

Die wörtliche Convertible diejenigen meinen Sie, um sie mit einer wörtlichen a la zuordnen:

class MyString: StringLiteralConvertible { 
    … 
} 

var x: MyString = "asdf" 

Interessanter nicht erwähnt: Equatable und Comparable (davon abgedeckt in den oben genannten Dokumenten)

1

Wo finde ich eine Liste aller Protokolle?

Sie sind sicherlich nicht interessiert in einer Liste von alle Protokolle, sondern die in einem bestimmten Rahmen definiert Protokolle. Vielleicht möchten Sie also die UIKit-Protokolle oder die iAd-Rahmenprotokolle usw. Sie finden sie in der Dokumentation für das Framework.

Wenn Sie stattdessen versuchen, alle Protokolle in Ihrem Projekt zu finden, verwenden Sie den Symbol-Navigator von Xcode (zweites Symbol von links oben links im Projektfenster, direkt neben dem Datei-Navigator-Symbol).

+5

Ich glaube, er sucht nach den Protokollen, die Teil der std-Bibliothek sind (wo ein Großteil der Sprache definiert ist) – Jiaaro