Cocoa Touch Class vs Swift file

Bonjour à tous,
Je débute dans l’apprentissage de Swift et de la programmation et beaucoup de notion reste encore très floue dans mon esprit … notamment celle-ci …
Lorsque je veux ajouter un fichier dans mon application, plusieurs propositions sont faites quant au type de fichier à ajouter. Dans les tutoriels, je constate que l’on ajoute parfois un fichier “Cocoa Touch Class” et parfois une fichier “Swift File”.
Voici mes questions:

  1. Quel est la différence entre ces 2 types de fichiers?
  2. Quand utiliser l’un plutôt que l’autre ?

Et question encore probablement plus naïve …
Est-ce que “Cocoa Touch Class” a quelque chose avoir avec Cocoapods …

J’espère ne pas poser une question redondante mais je n’ai pas trouver de réponse sur ce forum …

Merci pour votre aide
OX

Hello @OXhaet :slight_smile:

Quel est la différence entre ces 2 types de fichiers?

En fait, un fichier « Cocoa Touch Class » est en réalité un fichier « Swift File ».
La différence vient du fait que le fichier « Cocoa Touch Class » nous fait gagner du temps car il est déjà pré-remplis pour ce que l’on veut faire.
Par exemple, en créant un fichier « Cocoa Touch Class » pour un ViewController, le fichier hérite déjà de tout ce qu’il faut pour qu’il soit considéré comme un ViewController. Mais tu pourrais tout à fait le faire manuellement en créant un fichier « Swift File » et en lui disant toi même ce dont il hérite etc.
Au final, je pense que c’est plus une question de gain de temps.

Quand utiliser l’un plutôt que l’autre ?

Généralement, quand on souhaite créer un fichier qui va être utilisé par l’interface graphique (du genre ViewController et ses dérivés (TableViewController, etc)), on passe par un « Cocoa Touch Class », alors que lorsqu’on a besoin de créer une classe qui ne fait pas référence à l’interface graphique (une classe, un manager, etc), on préfère un fichier « Swift File », puisque ce fichier n’a pas besoin d’hériter de quoi que ce soit au préalable.

Les autres confirmeront (ou pas) ce que je viens de dire, mais c’est comme cela que je vois les choses, et comme cela également que je m’y retrouve. :slight_smile:

Est-ce que “Cocoa Touch Class” a quelque chose avoir avec Cocoapods …

Mmh, pour cette question, je ne suis pas sur, mais j’aurai tendance à dire que ça n’a rien à voir réellement, dans le sens où Cocoapods est un gestionnaire de package, alors que les « Cocoa Touch Class » sont des fichiers, donc je pense que les « Cocoa Touch Class » étaient là avant, créés par Apple, puis que des devs externes ont créé un outils portant ce nom là (mais je peux me tromper, @mbritto saura t’en dire plus je pense).

Voilà voilà, en espérant t’avoir aider :slight_smile:
Si tu as d’autres questions, n’hésite pas, il n’y a aucune question naïve ou idiote, que des questions pour évoluer et apprendre ! :grin:

Bonne journée,

4 « J'aime »

Je te rejoins sur les deux première questions par contre, pour la dernier c’est juste que celui qui a créer Cocoapods a utilisé le nom Cocoa pour faire référence à l’API d’Apple vue, que celle-ci et uniquement faite pour le développement sur les systèmes d’Apple (Swift et Objectif-C).

1 « J'aime »

@ThonyF Oui, exact, c’est uniquement pour créer un lien au niveau du nom, mais rien n’est réellement lié entre les fichiers et Cocoapods (excepté le nom), si ? Intéressant comme réflexion :slight_smile:

Oui rien n’est lié, CocoaPods est simplement un logiciel à part qui sert à gérer les dépendances.
Donc, c’est pour faciliter la vie des développeurs.

Whaaa !!!
Premier fois que je pose une question sur le forum et après 5 minutes j’ai une réponse précise et très complète !!!
Merci @Alexandre pour ta réponse !!! et effectivement, je constate que, dans les exemples que j’ai pu trouver, les fichiers “Cocoa Touch Class” sont effectivement utilisés pour ajouter certaines fonctionnalités graphiques à des Label, Button, …

Et OK le nom Cocoapods fait référence à l’API Cocoa d’Apple mais pas de lien réel entre les deux !!!

Encore merci à @Alexandre et à @ThonyF

2 « J'aime »