90 votes

Qu'est-ce que le propriétaire du fichier et le premier répondant dans iOS - Xcode ?

Qu'est-ce que le propriétaire de fichier et le premier intervenant dans iOS - Xcode?

171voto

dannywartnaby Points 3336

Le propriétaire du fichier est un objet runtime instancié qui détient le contenu de votre interface ainsi que ses prises de vue/actions lors du chargement de l'interface. Il peut être une instance de n'importe quelle classe que vous souhaitez - jetez un œil à l'onglet identité de la palette d'outils.

Le propriétaire du fichier est le lien principal entre le code de votre application et le contenu du fichier d'interface.

Par exemple, imaginez que vous avez une sous-classe UIViewController avec une IBOutlet pour un UILabel. Dans l'interface Builder, le propriétaire du fichier sera défini sur la même classe que votre UIViewController. Lorsque votre interface est chargée en runtime, les liaisons des prises de vue et des actions définies dans votre interface sont liées à l'instance de votre contrôleur de vue, car votre contrôleur de vue est le propriétaire.

Les interfaces sont chargées à l'aide de :

[[NSBundle mainBundle] loadNibNamed:@"NomDeVotreInterface" owner:nil options:nil];

Le paramètre du propriétaire est particulièrement important. C'est l'instance en runtime d'une classe qui détient le contenu (prises de vue, actions et objets) de l'interface qui est en train d'être chargée.

En espérant que cela soit clair. Pour voir cela en action, créez un nouveau projet iPhone avec un contrôleur de vue. Ouvrez le fichier d'interface et jetez un œil à l'onglet identité.

Le premier répondant est simplement le premier objet dans la chaîne de réponse qui peut répondre aux événements. La chaîne de réponse est une collection en runtime (ou plus précisément une hiérarchie) d'objets qui peuvent répondre à un événement. Par exemple, imaginez que vous avez une fenêtre avec une vue et sur cette vue se trouve un champ de texte.

Si ce champ de texte a le focus, il est connu comme le premier répondant dans la chaîne. Donc si vous envoyez un message au premier répondant, il sera envoyé au champ de texte en premier. Si le champ de texte ne peut pas gérer le message, il sera envoyé au prochain répondant. Et le prochain. Et le suivant, jusqu'à ce que vous arriviez à la fin de la chaîne de réponse ou à ce que quelque chose ait consommé l'événement (si je me souviens bien).

La chaîne de réponse vaut la peine d'être étudiée - consultez la documentation d'Apple pour plus d'informations.

1 votes

@dannywartnaby : description détaillée!! +1

1 votes

Excellente explication!

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