Besitzer Datei ist ein Proxy oder Stand-in für ein tatsächliches Objekt, das identifiziert wird, wenn die Die Feder ist geladen. [ed. Ich sollte beachten, "Nib" ist die alte Bezeichnung für Interface-Dateien. Xib ist der neue Name. Tatsächlich kompilieren Xib-Dateien zu Nib-Dateien, wenn Ihr Projekt erstellt wird. Verzeih mir, wenn ich etwas altmodisch bin und nib/xib synonym benutze] Du könntest deinen View-Controller als "Dateibesitzer" in deiner Interface-Datei verwenden. Mit ihm könnte wie folgt aussehen:
class MyViewController : UIViewController {
@IBOutlet loadedView : UIView!
func loadMyInterface() {
// load the nib with myself as the "Files Owner". If the nib file is set up properly
// shoudl set the "loadedView" outlet on this object
Bundle.mainBundle.loadNibNamed("MyLoadedView", owner: self, options: nil)
}
}
In diesem Code-Schnipsel, ich habe die loadedView
Steckdose. Wenn mein View-Controller erstellt wird, lautet er nil
. Dann rufe ich irgendwann in der Ausführung meines Programms loadMyInterface
. Diese Routine fordert das Hauptpaket auf, die Schnittstellendatei "MyLoadedView" zu laden. Beachten Sie, dass ich an diesem Punkt dem System sage, welches Objekt "Dateibesitzer" darstellt. Da ich meinen View-Controller als owner
identifiziert habe, werden alle Ausgänge in der Interface-Datei, die für den Eigentümer der Datei identifiziert werden, mit diesem View-Controller verbunden.
Zusätzlich können Sie Aktionen für Ihre View-Controller-Klasse definieren und diese bis zum "File's Owner" im Interface Builder verbinden. Wenn die lib geladen ist, werden sie zum View-Controller geleitet.
Beachten Sie jedoch, dass dies einfach deshalb ist, weil ich meinen View Controller als owner
identifiziert habe, als die Spitze geladen wurde. Ich hätte einfach irgendein anderes Objekt als Besitzer der Datei einrichten können und dafür sorgen können, dass die Verkaufsstellen und Aktionen für den Besitzer dorthin gehen.