Lorsque j'utilise une vue de table prototype, je dois toujours me conformer au protocole TableViewDataSource
. J'oublie toujours les méthodes que je dois implémenter, je dois donc examiner la source du protocole à chaque fois. Ceci prend vraiment beaucoup de temps.
Je pense que Xcode doit avoir une fonctionnalité qui implémente automatiquement les méthodes nécessaires pour vous, non? Tout comme IntelliJ IDEA, Eclipse et Visual Studio.
Je veux savoir où puis-je trouver cette fonctionnalité. S'il n'y en a pas, existe-t-il une solution de contournement? Au moins, je n'ai pas à ouvrir le code source du protocole chaque fois que je le respecte.
Si vous ne comprenez pas ce que je veux dire, voici un code:
J'ai un protocole
protocol Hello {
func doStuff ()
}
Quand je m'y conforme,
class MyClass: Hello {
}
Je ne me souviens souvent pas des noms des méthodes que je dois implémenter. Si Xcode a une fonctionnalité qui transforme le code ci-dessus en ceci:
class MyClass: Hello {
func doStuff () {
code
}
}
Maintenant vous comprenez ce que je veux dire? Je veux juste demander où trouver une telle fonctionnalité.
Eh bien, si j'ai compris votre problème, voici une solution de contournement:
essayez de définir les méthodes avec le protocole comme préfixe, comme ici hello
, vous n’aurez plus à vous rappeler les méthodes, il vous suffit de commencer à taper le nom du protocole et XCODE vous indiquera toutes les méthodes disponibles, voir ici:
Et si vous souhaitez utiliser le protocole de saisie semi-automatique, essayez Snippets
Xcode 9: vous pouvez ajouter des exigences de protocole manquantes en ajoutant un nouveau raccourci à votre ensemble de raccourcis clavier.
Refactor -> Add Missing Protocol Requirements
ex: cmd + shift + M
Now vous pouvez ajouter des exigences de protocole manquantes en cliquant sur le nom du nom de la classe (ou son extension) puis sur votre raccourci clavier
Xcode 9 prend en charge l’implémentation des méthodes obligatoires de Swift Datasource & Delegates.
Regardez ces instantanés, avec l'exemple de UICollectionViewDataSource
:
Indication d'un avertissement pour mettre en œuvre des méthodes de protocole:
En cliquant sur le bouton 'Fix', toutes les méthodes obligatoires ont été ajoutées:
Très similaire au message d'Amjad, Xcode 9/10 apporte la fonctionnalité permettant d'ajouter les exigences de protocole manquantes directement à partir de l'éditeur de code.
Il suffit de "cliquer avec le bouton droit" sur le nom de la classe: "Refactor" -> "Ajouter les exigences de protocole manquantes"