Was sind Dateibesitzer und Ersthelfer in iOS - Xcode?


Antworten:


170

Der Dateibesitzer ist ein instanziiertes Laufzeitobjekt , das den Inhalt Ihrer Schreibfeder und deren Ausgänge / Aktionen besitzt, wenn die Schreibfeder geladen wird. Es kann eine Instanz jeder Klasse sein, die Sie mögen - sehen Sie sich die Registerkarte Identität der Werkzeugpalette an.

Der Dateibesitzer ist die Hauptverbindung zwischen Ihrem Anwendungscode und dem Inhalt der NIB-Datei.

Angenommen, Sie haben eine UIViewController-Unterklasse mit einem IBOutlet für ein UILabel. Im Interface Builder wird der Eigentümer der Datei auf dieselbe Klasse wie Ihr UIViewController festgelegt. Wenn Ihre Schreibfeder zur Laufzeit geladen wird, sind die in Ihrer Schreibfeder definierten Bindungen von Ausgängen und Aktionen an die Instanz Ihres Ansichtscontrollers gebunden, da Ihr Ansichtscontroller der Eigentümer ist.

Schreibfedern werden geladen mit:

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

Der Eigentümerparameter ist besonders wichtig. Dies ist die Laufzeitinstanz einer Klasse, die den Inhalt (Outlets, Aktionen und Objekte) der geladenen Schreibfeder besitzt.

Hoffentlich ist das klar. Um dies bei der Arbeit zu sehen, erstellen Sie ein brandneues iPhone-Projekt mit einem View Controller. Öffnen Sie die Nib-Datei und sehen Sie sich die Registerkarte Identität an.

Der Ersthelfer ist einfach das erste Objekt in der Antworterkette, das auf Ereignisse reagieren kann. Die Responderkette ist eine Laufzeitsammlung (oder genauer eine Hierarchie) von Objekten, die auf ein Ereignis reagieren können. Angenommen, Sie haben ein Fenster mit einer Ansicht und in dieser Ansicht befindet sich ein Textfeld.

Wenn dieses Textfeld den Fokus hat, wird es als Ersthelfer in der Kette bezeichnet. Wenn Sie also eine Nachricht an den Ersthelfer senden, wird diese zuerst an das Textfeld gesendet. Wenn das Textfeld die Nachricht nicht verarbeiten kann, wird sie an den nächsten Antwortenden gesendet . Und der nächste. Und das nächste Mal, bis Sie das Ende der Antworterkette erreicht haben oder etwas das Ereignis (iirc) verbraucht hat.

Die Responderkette ist lesenswert - weitere Informationen finden Sie in der Dokumentation von Apple.


1
@dannywartnaby: detaillierte Beschreibung !! +1
Jayprakash Dubey

1
tolle Erklärung!
TMin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.