Délégation de Source de Données et iOS
J'ai appris à propos de la Délégation et des Sources de Données pour iOS de la programmation et de la nécessité de se demander s'il existe des différences que vous devez faire lorsque vous effectuez une source de données de protocole de un délégué du protocole?
Aussi comment puis-je mettre en œuvre un délégué pour de nombreux mêmes objets dans un délégué? Exemple d'un objet avec beaucoup d'uniques des alertes personnalisées.
--Edit--
Un exemple pour la deuxième partie:
Un objet qui a quatre alertes différentes, chacune avec différents boutons. Depuis, l'objet doit dicter la façon dont chaque bouton fonctionne en étant un délégué pour les alertes. Comment pourrais-je définir le délégué des méthodes pour déterminer chaque type d'alerte?
Vous devez vous connecter pour publier un commentaire.
Les deux types d'objets plus ou moins se comportent de la même manière, c'est une question de ce qu'ils font là est la question.
Un délégué de type objet répond à des actions d'un autre objet. Par exemple, le
UITableViewDelegate
protocole a des méthodes telles quedidSelectRowAtIndexPath
pour l'exécution des actions à un utilisateur de choisir une ligne dans une table.Alors qu'un type de source de données de l'objet donne des données à un autre objet. Par exemple encore, le
UITableViewDataSource
protocole a des méthodes telles quecellForRowAtIndexPath
etnumberOfRowsInSection
dicter ce qui doit être affiché dans le tableau.Il n'y a aucune différence entre les deux en termes de compilation, c'est simplement un style de codage pour faire ce que les objets n'ont que très précisé à l'utilisateur du code.
EDIT:
Pour répondre à votre deuxième question: si vous souhaitez que chaque alerte pour réagir différemment, vous aurez besoin d'écrire un autre délégué pour chaque alerte. Par exemple, si l'un de vos alertes est un enregistrement de la confirmation de l'alerte (peut-être que vous allez écraser un fichier, et il apparaît pour confirmer c'est ce que l'utilisateur souhaite faire), vous avez un objet tel que:
Et dans le
@implementation
pourSaveConfirmAlertDelegate
vous permettrait de mettre en œuvre une bonne fonction d'enregistrement, selon le bouton sur lequel l'utilisateur a appuyé dans l'alerte.Lorsque vous créez un affichage des alertes, vous devez spécifier ce que le délégué de l'objet doivent être, ce ne doit pas être
self
. Vous pourriez avoir votre quatre délégués stockées comme des objets différents et de les fixer sur les alertes nécessaires.J'espère que cela efface les choses