Accueil Médias sociaux Personnalisation du comportement des classes de framework iOS: sous-classe et délégation - dummies

Personnalisation du comportement des classes de framework iOS: sous-classe et délégation - dummies

Table des matières:

Vidéo: 092 — Manipuler des cartes 2025

Vidéo: 092 — Manipuler des cartes 2025
Anonim

Bien que vous créiez des classes de vos propres (en particulier les classes de modèles) pour votre application iOS, vous allez souvent vouloir personnaliser le comportement d'une classe de cadre particulier. Vous avez trois façons d'y arriver:

  • Sous-classe

  • Délégation

  • Propriétés déclarées

Sous-classe

Objective-C, comme d'autres langages de programmation orientés objet, vous permet de baser une nouvelle classe sur un classe qui est déjà déclarée. La classe de base est appelée une superclasse ; la nouvelle classe est sa sous-classe . Chaque sous-classe que vous définissez hérite des méthodes et des variables d'instance de sa superclasse.

Certaines classes d'infrastructure devraient être sous-classées. Parmi eux, les contrôleurs de vue, que vous sous-classez pas mal. En fait, certaines classes ne sont jamais instanciées directement: ce sont les classes abstract . Leurs sous-classes peuvent être instanciées directement: Ce sont des instances concrètes .

Presque tous les langages de programmation orientés objet supportent le sous-classement. Cependant, il y a parfois un problème. C'est ce qu'on appelle le problème héritage multiple : c'est quand vous voulez qu'une classe soit une sous-classe de deux classes. Il n'y a pas de problème si les deux sous-classes sont dans la hiérarchie des classes. Vous pourriez avoir une classe appelée structure, une sous-classe appelée structure résidentielle, et une sous-classe de la maison appelée.

Mais que faites-vous si vous voulez que la maison soit une sous-classe à la fois de structure et d'investissement?

Le modèle de délégation

Délégation est un modèle largement utilisé dans les frameworks iOS, si bien que, si vous voulez faire un travail de développement d'applications sérieux, vous allez devoir vous mettre en tête il. En fait, quand vous le comprenez, votre vie deviendra instantanément beaucoup plus facile à gérer.

Au lieu de sous-classer un objet, un objet délègue la tâche d'implémentation de l'une de ses responsabilités à un autre objet. Vous utilisez un objet riche en comportement fourni par le framework

tel que et en plaçant le code du comportement spécifique au programme dans un objet distinct (délégué). Lorsqu'une requête est faite sur l'objet framework, la méthode du délégué qui implémente le comportement spécifique au programme est appelée automatiquement. Les frameworks iOS s'appuient fortement sur le modèle de délégation.

Par exemple, l'objet UIApplication gère la plupart du travail réel nécessaire pour exécuter l'application.Mais, comme vous l'avez vu, il envoie à votre application déléguer l'application: didFinishLaunchingWithOptions: message pour vous donner l'occasion de créer des objets modèles qui sont uniques à votre application.

Lorsqu'un objet de structure a été conçu pour utiliser des délégués pour implémenter certains comportements, les comportements qu'il requiert (ou qui vous donnent l'option d'implémenter) sont définis dans un protocole

. Les protocoles définissent une interface que l'objet délégué implémente. Dans iOS, les protocoles peuvent être formels ou informels. Les protocoles formels incluent la prise en charge de choses telles que la vérification de type et la vérification de l'exécution pour voir si un objet est conforme au protocole.

Dans un protocole formel, vous n'avez généralement pas à implémenter toutes les méthodes; beaucoup sont déclarés facultatifs, ce qui signifie que vous devez implémenter uniquement ceux qui sont pertinents pour votre application. Avant qu'un protocole formel tente d'envoyer un message à son délégué, l'objet hôte détermine si le délégué implémente la méthode (via un message respondsToSelector:) pour éviter l'embarras de se brancher sur nulle part si la méthode n'est pas implémentée.

Un protocole peut être adopté par n'importe quelle classe tant qu'il implémente les méthodes requises du protocole. Ainsi, en adoptant un ou plusieurs protocoles et en devenant un délégué, une seule classe peut implémenter une fonctionnalité à partir de deux autres classes - elle fournit une approximation de l'héritage multiple.

Personnalisation du comportement des classes de framework iOS: sous-classe et délégation - dummies

Le choix des éditeurs

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Comment détecter les atteintes à la sécurité sur vos fichiers journaux Web hébergés - dummies

Grande question est toujours sur la sécurité. Comment pouvez-vous repérer les failles de sécurité hébergées sur le Web pour protéger votre site et garantir qu'il ne sera pas piraté? La réponse courte est la suivante: Vous ne pouvez pas. Tout est piratable avec suffisamment de temps, des cerveaux sournois et des ressources. Cependant, il y a des choses que vous pouvez faire pour vous protéger un peu. ...

Comment utiliser MySQL Workbench pour votre site Web - dummies

Comment utiliser MySQL Workbench pour votre site Web - dummies

Bien que phpMyAdmin et d'autres outils d'hébergement Web Pour gérer les bases de données, il est possible que vous ayez besoin de quelque chose de plus puissant. MySQL Workbench est une bonne source dans cette instance. MySQL Workbench est un outil de conception et d'administration de base de données gratuit créé par Oracle qui réunit deux produits: MySQL Query Browser et MySQL ...

Le choix des éditeurs

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Comment mettre du texte sur un cercle dans QuarkXPress - texte fictif

Sur un cercle - c'est-à-dire texte suivant l'extérieur d'un cercle ou ovale - est un élément de conception commun dans les mises en page. C'est vraiment facile à faire dans QuarkXPress, mais ce n'est pas du tout évident comment. Procédez comme suit: Obtenez l'outil Ovale de la palette Outils et dessinez ...

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

ÉChanges peer-to-peer par rapport aux échanges Bitcoin réguliers - mannequins

Deux types d'échanges de bitcoins sont utilisés : peer-to-peer et régulier. D'une part, il y a les échanges de bitcoins réguliers, qui utilisent un carnet de commandes pour faire correspondre les ordres d'achat et de vente entre les personnes. Cependant, ni l'acheteur ni le vendeur n'ont la moindre idée de l'identité de l'autre partie, ce qui permet à tous les utilisateurs ...

L'interface d'application QuarkXPress - les nuls

L'interface d'application QuarkXPress - les nuls

Les palettes visibles à gauche, à droite et en bas de QuarkXPress sont flottantes - vous pouvez les faire glisser n'importe où qui vous convient. Contrairement aux palettes, les menus de la barre de menu sont collés: vous devez toujours passer la souris à la barre de menu pour y accéder. Cependant, ...

Le choix des éditeurs

Sept erreurs d'optimisation de moteur de recherche - nuls

Sept erreurs d'optimisation de moteur de recherche - nuls

Lorsque vous essayez d'obtenir votre site Web, c'est facile de faire des erreurs d'optimisation de moteur de recherche. Voici quelques-unes des erreurs de référencement les plus courantes. Vous ne connaissez pas vos mots-clés C'est également un problème majeur: la grande majorité des sites sont créés sans que les propriétaires ou les développeurs du site ne sachent vraiment ce que sont les mots-clés ...

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Soumission de pages aux moteurs de recherche pour l'optimisation - dummies

Vous avez probablement vu "soumission "Services annoncés pour le référencement, peut-être sous la forme de spam dans votre boîte de réception, offrant de soumettre votre site Web à des centaines de moteurs de recherche, encore et encore. Dans la plupart des cas, ces services de soumission sont une perte totale de temps et d'argent. Voici comment obtenir votre site Web dans les moteurs de recherche. You ...

Six mythes À propos de Search Engine Optimization - mannequins

Six mythes À propos de Search Engine Optimization - mannequins

Il existe une grande confusion dans le monde des moteurs de recherche. beaucoup de mythes. Voici quelques-uns des mythes communément crus qui peuvent nuire à vos positions de moteur de recherche. Tout est une question de métabalises et de soumissions. C'est le mythe le plus répandu et le plus préjudiciable de tous, tenu par de nombreux concepteurs et développeurs Web. ...