Accueil Médias sociaux Notions de base des protocoles dans iOS Apps - mannequins

Notions de base des protocoles dans iOS Apps - mannequins

Vidéo: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024

Vidéo: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024
Anonim

Par définition, un protocole clarifie les ensembles de méthodes pouvant être implémentées par n'importe quelle classe pour une application iOS. Les protocoles sont utilisés pour définir les interfaces implémentées par les classes. Les protocoles sont souvent utilisés pour spécifier l'interface pour les objets délégués. Avec la fonction 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. Notez que les directives du compilateur sont également ici.

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.Puisque someObject (qui est de type id pour rendre l'exemple plus significatif) n'est pas conforme au protocole Printable, le test de 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.

Notions de base des protocoles dans iOS Apps - mannequins

Le choix des éditeurs

Problème pratique de lecture sAT-Thème principal d'un passage - nuls

Problème pratique de lecture sAT-Thème principal d'un passage - nuls

L'examen SAT Reading Comprehension contient plusieurs passages que vous devrez lire. Dans certains cas, vous devrez déterminer le thème principal ou général que l'auteur essaie de transmettre. Après avoir lu le passage suivant, les questions pratiques vous demanderont d'identifier le thème principal, et aussi de souligner ...

Problèmes pratiques de lecture sAT: Vocabulaire en contexte - les nuls

Problèmes pratiques de lecture sAT: Vocabulaire en contexte - les nuls

Questions de vocabulaire en contexte simple sur l'examen de compréhension de lecture SAT. Comme dans les questions pratiques suivantes, vous lisez un passage, puis identifiez la signification d'un mot sélectionné dans le contexte du passage. Note: ce qui suit sont des extraits de passages; les passages réels sont généralement plus longs. Questions de pratique Lisez le passage ...

Problèmes d'écriture SAT: structure parallèle, concordance et temps - mannequins

Problèmes d'écriture SAT: structure parallèle, concordance et temps - mannequins

La section SAT Writing and Language contient plusieurs questions liées à la structure parallèle, à savoir si les parties d'une phrase faisant un travail particulier sont grammaticalement cohérentes. Par exemple, un sujet et un verbe doivent être d'accord en étant à la fois célibataire ou pluriel, et le verbe doit être cohérent. Dans les questions pratiques suivantes, vous avez ...

Le choix des éditeurs

Wraps au steak au fromage - mannequins

Wraps au steak au fromage - mannequins

Le sandwich original au steak au fromage aurait ses racines dans les années 30 Philadelphia. Cette version à faible teneur en glucides, l'enrobage de steak chaud au fromage, substitue une tortilla wrap pour le pain - mais il a encore toute la saveur! Temps de préparation: 10 minutes Temps de cuisson: 8 minutes Rendement: 4 roulés 1/2 gousse d'ail 1 oignon jaune 4 vert ...

Comment le régime DASH peut vous aider à perdre du poids - mannequins

Comment le régime DASH peut vous aider à perdre du poids - mannequins

Les approches diététiques pour arrêter l'hypertension (DASH) régime n'a pas été conçu comme un programme de perte de poids, mais il est parfait pour le travail. Pourquoi demandes-tu? Parce qu'un régime DASH regorge de légumes et de fruits à feuilles vertes, il vous remplit d'aliments favorisant la santé, pauvres en calories et en matières grasses. En choisissant de manger le DASH ...

Soupe à la crème de chou-fleur rôtie - nuls

Soupe à la crème de chou-fleur rôtie - nuls

Chou-fleur caramélise les sucres naturels des légumes Soupe à la crème de chou-fleur. Les soupes à la crème sont souvent chargées de matières grasses et de calories, mais celle-ci utilise du lait faible en gras et de la crème sure légère. Soupe à la crème de chou-fleur rôtie Temps de préparation: 15 minutes Temps de cuisson: 45 minutes Rendement: 4 portions 1 ...

Le choix des éditeurs

Genealogy Sites de requêtes - nuls

Genealogy Sites de requêtes - nuls

Même si vous ne trouvez pas de site spécifique à votre famille, vous avez toujours espoir pour votre généalogie! Cet espoir se présente sous la forme de requêtes. Les requêtes sont des questions de recherche que vous publiez sur un site Web, une liste de diffusion ou un groupe de discussion en particulier afin que d'autres chercheurs puissent vous aider à résoudre vos problèmes de recherche. D'autres chercheurs ...

Généalogie vacances - mannequins

Généalogie vacances - mannequins

Essayez-vous de choisir entre prendre des vacances et passer du temps supplémentaire à la recherche de votre généalogie? Pourquoi ne pas mélanger les deux ensemble? Il y a quelques façons de profiter de la généalogie en vacances, y compris mettre les voiles avec une croisière de généalogie, faire un voyage dans une patrie ancestrale, et faire un voyage de route généalogique. Généalogie ...

Genealogy Groupes de recherche - nuls

Genealogy Groupes de recherche - nuls

Si vos proches sont fatigués d'avoir entendu parler de vos recherches de généalogie ou des informations que vous avez trouvées sur Great -Uncle Beauford, mais vous aimeriez partager vos triomphes avec quelqu'un, vous pouvez être prêt à rejoindre un groupe de recherche.