Que sont le propriétaire de fichier et le premier répondant dans iOS - Xcode?
Que sont le propriétaire de fichier et le premier répondant dans iOS - Xcode?
Le propriétaire de fichier est un objet d' exécution instancié qui possède le contenu de votre nib et de ses prises / actions lorsque la nib est chargée. Il peut s'agir d'une instance de n'importe quelle classe que vous aimez - jetez un œil à l'onglet identité de la palette d'outils.
Le propriétaire du fichier est le lien principal entre votre code d'application et le contenu du fichier nib.
Par exemple, considérez que vous avez une sous-classe UIViewController avec un IBOutlet pour un UILabel. Dans le générateur d'interface, le propriétaire du fichier sera défini sur la même classe que votre UIViewController. Lorsque votre nib est chargé au moment de l'exécution, les liaisons des prises et des actions définies dans votre nib sont liées à l'instance de votre contrôleur de vue, car votre contrôleur de vue en est le propriétaire.
Les plumes sont chargées en utilisant:
[[NSBundle mainBundle] loadNibNamed:@"NibName" owner:nil options:nil];
Le paramètre propriétaire est particulièrement important. C'est l'instance d'exécution d'une classe qui possède le contenu (sorties, actions et objets) de la nib en cours de chargement.
J'espère que c'est clair. Pour voir cela au travail, créez un tout nouveau projet iPhone avec un contrôleur de vue. Ouvrez le fichier Nib et jetez un œil à l'onglet Identité.
Le premier répondant est simplement le premier objet de la chaîne de répondeurs qui peut répondre aux événements. La chaîne de répondeurs est une collection d'exécution (ou plus précisément une hiérarchie) d'objets qui peuvent répondre à un événement. Par exemple, considérez 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épondeur de la chaîne. Donc, si vous envoyez un message au premier répondeur, il sera d'abord envoyé dans le champ de texte. Si le champ de texte ne peut pas gérer le message, il sera envoyé au prochain répondeur . Et la prochaine. Et le suivant, jusqu'à ce que vous arriviez à la fin de la chaîne de répondeurs ou que quelque chose ait consommé l'événement (iirc).
La chaîne de répondeurs vaut la peine d'être lue - consultez la documentation d'Apple pour plus d'informations.