Accueil Médias sociaux Comment utiliser les protocoles pour définir les méthodes pour iOS Apps - mannequins

Comment utiliser les protocoles pour définir les méthodes pour iOS Apps - mannequins

Vidéo: Programmer en Swift #15 - La POO (6) - Les protocoles 2025

Vidéo: Programmer en Swift #15 - La POO (6) - Les protocoles 2025
Anonim

Un protocole définit des ensembles de méthodes qui peuvent être implémentées par n'importe quelle classe. Considérez les protocoles comme des interfaces de définition que les classes doivent implémenter. Les protocoles sont souvent utilisés pour spécifier l'interface pour les objets délégués.

Avec la fonctionnalité de protocole, vous pouvez éviter d'avoir à forcer le sous-classement afin de créer des classes polymorphes. Objective-C (contrairement à C ++) ne permet pas à une classe d'avoir plusieurs superclasses. Les protocoles sont donc une caractéristique essentielle d'Objective-C car ils ne permettent pas l'héritage multiple.

Lorsqu'une classe implémente les méthodes dans un protocole, la classe est dite conforme au protocole.

La définition d'un protocole est similaire à la définition d'une interface pour une classe. Cependant, un protocole n'a pas de classe parente ou de variables d'instance. Voici un exemple de définition de protocole (imprimable) à partir du programme de calcul de postfix:

@protocol Printable - (void) printMe; // Je peux omettre @required, puisqu'il s'agit de la valeur par défaut @optional - (NSString *) printMeToString; -d

Avec l'arrivée (et même en grande fanfare) d'Objective-C 2. 0, les méthodes protocolaires peuvent être requises (par défaut) ou optionnelles.

Voici la déclaration du StackOfInteger indiquant qu'il implémentera le protocole: @interface StackOfInteger: NSObject … -d

Voici l'implémentation du protocole dans la classe StackOfInteger:

@implementation StackOfInteger; … Autres méthodes StackOfInteger … /////////// Méthodes pour implémenter le protocole imprimable //////////// - (void) printMe {int k, pileCount = [nombre d'éléments]; NSLog (@ "Stack-> Last>% dlast); pour (k = 0; k% @ 

Notez que la méthode printMeToString n'est pas implémentée car elle est facultative.

< ! --1 ->

Un programme peut tester si un objet est conforme à un protocole Le code suivant contient des exemples de ce test (tiré du programme principal de l'exemple):

printf ("Tester la conformité à protocolsn "); if ([myStack conformsToProtocol: @protocole (Imprimable)]) {printf (" Utiliser les méthodes protocolaires "); [myStack printMe];} else {NSLog (@" L'objet n'est pas conforme au protocole% @ n ", @protocol (imprimable));} id someObject = [[PostfixCalculator alloc] initWithExpression: @ "44 55 *"]; if (! [someObject conformeProtocole: @protocole (Imprimable)]) {NSLog (@ "L'objet n'est pas conforme à protocol ");}

Comme l'objet myStack est conforme au protocole, ses méthodes printMe et printMeToString sont appelées: someObject (qui est de type id pour rendre l'exemple plus significatif) n'est pas conforme au protocole Printable, le test pour la conformité échoue.

Vous pouvez également tester l'existence d'une méthode optionnelle en utilisant la méthode respondsToSelector.

Vous pouvez faire en sorte qu'une classe adopte un protocole simplement en implémentant les méthodes définies par ce protocole. Autrement dit, vous n'avez pas à déclarer le protocole dans son interface. Cependant, même si la classe implémente les méthodes de protocoles, elle ne sera pas conforme au protocole et échouera au test de conformité précédent.

Comment utiliser les protocoles pour définir les méthodes pour iOS Apps - mannequins

Le choix des éditeurs

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...