72 votes

Comment créer un module importable en Swift ?

J'ai lu la documentation d'Apple sur Swift et je n'ai rien trouvé sur la façon de créer des modules ou de définir les membres d'une classe ou d'une structure comme privés ou publics.

La syntaxe fait référence à l'instruction d'importation, mais je ne trouve aucune information sur sa fonction ou son utilisation.

Quelqu'un sait-il où je peux trouver cela ?

25voto

Austin Points 3222

En Swift, les "Modules" font référence aux Frameworks. Xcode dispose désormais d'un modèle permettant de créer un projet de framework pour iOS et OS X.

Il n'y a actuellement aucun moyen de déclarer des méthodes ou des propriétés publiques / protégées. Si vous souhaitez que cela soit ajouté comme fonctionnalité, vous pouvez faire une demande de fonctionnalité à l'adresse suivante Le rapporteur de bogues d'Apple . Il convient également de noter qu'Apple a déclaré que le langage pourrait changer avec chaque version de Xcode, il est donc possible que les niveaux d'accès des membres soient ajoutés avant la version publique.

8voto

AlexDenisov Points 173

Il existe également un moyen de créer un module par vous-même, mais c'est un peu plus difficile.

Si vous regardez xcrun swift -help vous pouvez voir quelques options, et il y a -emit-module , -emit-library y -emit-object qui peut être utile, mais, probablement, vous devriez préférer la voie officielle et distribuer les modules via les Frameworks.

Si vous voulez toujours faire le module par vous-même, vous pouvez lire ce guide avec quelques explications

2voto

Clement Points 584

La dernière mise à jour de Xcode 6 beta (beta 4) apporte le contrôle d'accès à swift

Swift permet le contrôle d'accès

Le contrôle d'accès Swift comporte trois niveaux d'accès :

  • privé Les entités ne sont accessibles qu'à partir du fichier source où elles sont définies.
  • interne Les entités sont accessibles partout dans la cible où elles sont définies !
  • public sont accessibles depuis n'importe quel endroit de la cible et depuis tout autre contexte qui importe le module de la cible actuelle.

-2voto

elito25 Points 78

Apple a mentionné que les méthodes privées n'existent pas encore mais qu'elles sont en cours d'implémentation. N'oubliez pas qu'il s'agit d'un langage nouveau-né et qu'il est toujours en cours de développement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X