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?
Antwort
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)
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).
Ich glaube, er sucht nach den Protokollen, die Teil der std-Bibliothek sind (wo ein Großteil der Sprache definiert ist) – Jiaaro
- 1. Speichern Verweis auf UITableViewCell
- 2. undefined Verweis auf `Pthread_mutex_trylock '
- 3. undefined Verweis auf `geschrieben '
- 4. undefined Verweis auf `readline '
- 5. undefined Verweis auf 'mpg123_open'
- 6. "Undefinierter Verweis auf"
- 7. Undefinierter Verweis auf AAssetManager_fromJava
- 8. undefined Verweis auf "aufblasen"
- 9. undefined Verweis auf `Forkpty '
- 10. undefined Verweis auf `gnuplot_init() '
- 11. undefined Verweis auf 'nCr'
- 12. Undefined Verweis auf 'FCGX'
- 13. Undefinierter Verweis auf 'yylex()'
- 14. Undefinierter Verweis auf 'inflateInit2_'
- 15. undefined Verweis auf `__imp_WSACleanup '
- 16. Verweis auf Klasse Verfahren
- 17. undefined Verweis auf Vorlagenfunktion
- 18. Verweis auf AudioVideoPlayback Namensraum
- 19. Verweis auf die Konstruktorfunktion
- 20. Verweis auf einen Zeiger
- 21. undefined Verweis auf ‚xcb_event_get_label‘
- 22. mehrdeutiger Verweis auf Mitglied ‚==‘
- 23. VB6 Verweis auf UserControl
- 24. undefined Verweis auf 'd1mach_'
- 25. Verweis auf App Delegate "verloren"
- 26. C++: undefinierter Verweis auf `sd_notify '
- 27. gcc undefined Verweis auf dbus_ *
- 28. undefined Verweis auf `JNI_CreateJavaVM 'Windows
- 29. GStreamer "undefinierter Verweis auf '__srget'"
- 30. MySQL: Verweis auf Unterabfrage-Spalten
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