Swift a une notion de interfaces de classe, appelé Protocols. Cependant, je n'arrive pas à trouver une référence complète de tous les protocoles disponibles dans l'API Swift. Où puis-je trouver une liste de tous les protocoles?Référence à tous les protocoles Swift?
Répondre
Eh bien, je ne l'ai pas vu tous les documents, mais voici une astuce que je l'ai utilisé (dans XCode):
import Swift
... puis [CMD] - cliquez sur « Swift » qui vous emmène à les en-têtes pour le std lib de Swift.
Vous pouvez voir beaucoup de protocoles et ce dont ils ont besoin là, y compris le ones seen in the docs (mentionné dans les commentaires par esqew) qui est utile pour comprendre comment utiliser les en-têtes (au moins certaines des choses ont une explication)
Edit:
Je viens de me rappeler que j'ai vu une liste des « Protocoles spéciaux » dans l'une des vidéos de la WWDC, et a pris une capture d'écran :)
Ils sont (comme on le voit dans la diapositive):
LogicValue
-if logicValue {
- -
"\(printable)"
Sequence
-for x in sequence
IntegerLiteralConvertible
-65536
FloatLiteralConvertible
-1.0
StringLiteralConvertible
-"abc"
ArrayLiteralConvertible
-[ a, b, c ]
DictionaryLiteralConvertible
-[ a: x, b: y ]
Printable
Les littérales les convertibles signifie que vous pouvez leur assigner un littéral à la:
class MyString: StringLiteralConvertible {
…
}
var x: MyString = "asdf"
Fait intéressant pas mentionné: Equatable
et Comparable
(qui sont couvert dans les documents mentionnés ci-dessus)
Où puis-je trouver une liste de tous les protocoles?
Vous n'êtes sûrement pas intéressé par une liste de tous les protocoles, mais plutôt les protocoles définis dans un cadre donné. Donc, peut-être que vous voulez les protocoles UIKit, ou les protocoles de cadre iAd, etc. Vous les trouverez dans la documentation pour le framework. Si vous essayez plutôt de trouver tous les protocoles dans votre projet, utilisez le navigateur de symboles de Xcode (deuxième icône à gauche en haut à gauche de la fenêtre du projet, juste à droite de l'icône du navigateur de fichiers).
Je crois qu'il cherche les protocoles qui font partie de la bibliothèque std (où une grande partie de la langue est définie) – Jiaaro
- 1. Swift: déclarer les protocoles à l'intérieur des classes
- 2. Spécifier les relations entre les protocoles dans Swift
- 3. Swift: protocoles: Capture la compatibilité entre les types
- 4. Linux CentOS 6 comment proxy configuration pour tous les protocoles
- 5. Étendre tous les types dans Swift?
- 6. Fichier Swift - comment désactiver tous les avertissements?
- 7. Quel est l'équivalent pour les interfaces java ou les protocoles c objectifs dans swift?
- 8. trouver les protocoles activés
- 9. Swift 3.0: Les données à JSON [chaîne: Tous]
- 10. Pourquoi les protocoles Objective-c adoptent-ils d'autres protocoles?
- 11. Variables statiques dans les protocoles
- 12. référence Ambigu à un membre « indice » à Swift 3 Erreur
- 13. référence à un membre Ambigu 'removeAll' à Swift 2.0
- 14. Re-diriger tous les URL de référence?
- 15. Référence tous les bocaux d'un dossier
- 16. Comment obtenir une référence à tous les threads gérés
- 17. protocoles binaires à usage général
- 18. protocoles personnalisés
- 19. Comment étendre les protocoles numériques dans Clojure
- 20. protocoles websockets?
- 21. Les protocoles dans les protocoles peuvent-ils être traités comme incluant le protocole qu'ils adoptent?
- 22. Swift append Chaîne var à une liste par référence
- 23. Erreur: référence ambiguë au membre 'indice' à Swift 3
- 24. Swift: référence à l'élément de tableau par clé
- 25. Comment faire référence à Swift Playground lui-même?
- 26. Comment rendre une variable accessible par tous les fichiers Swift?
- 27. Xcode 6.3 génère tous les fichiers swift deux fois
- 28. Comment parcourir tous les UIButtons dans ma vue Swift?
- 29. xcode swift Storyboard Référence pas woking
- 30. Différence entre les protocoles orientés message et les protocoles orientés flux
Il ne semble pas presque complet, mais je me demande si [this] (https://developer.apple.com/bibliothèque/prerelease/ios/documentation/Général/Référence/SwiftStandardLibraryReference/Equatable.html #/apple_ref/doc/uid/TP40014608-CH17-SW1) est ce que vous cherchez? – esqew