Apple Doc sagt Einer der wichtigsten Objekte in einer Nib-Datei ist die Datei Besitzerobjekt, aber es scheint, dass der Eigentümer der Datei in NIB-Datei ist, nicht die von LoadNibName
Methode festgelegt. Ich frage mich, was ist der Unterschied zwischen ihnen? HierWas bedeutet der Besitzer bei Verwendung von loadNibNamed?
ist ein Beispiel:
ich eine Alertview von xib anpassen und eine statische Klasse Methode wie folgt bieten:
+(CustomAlert *)sharedAlert{
CustomAlert *alert = [[[NSBundle mainBundle] loadNibNamed:@"CustomAlert" owner:nil options:nil]lastObject];
return alert;
}
und ich habe eine Methode, um zu zeigen, wachsam zu sehen
- (void)showInView:(UIView *)view{
[view addSubview:self];
}
und in meiner Ansicht Controller:
- (IBAction)buttonPressed:(id)sender{
CustomAlert *alert = [CustomAlert sharedAlert];
[alert showInView:self.view];
}
es funktioniert gut in meiner Situation, also ist es notwendig, den Besitzer in [[[NSBundle mainBundle] loadNibNamed: owner: options:
zu setzen?
Ich weiß, der Eigentümer der Datei ist wichtig in NIB-Datei, aber ich frage mich, es ist in '[[[NSBundle mainBundle] loadNibNamed: Besitzer: Optionen:', und warum es in meiner Situation funktioniert. – johnMa
Es hat die gleiche Bedeutung, ist Ihre CustomAlert eine Unterklasse von UIAlertView oder UIButton? Wenn es sich um eine Alertview handelt, wie legen Sie den Delegaten fest? Wenn es ein UIButton ist, wie fügt man ein Ziel hinzu? In beiden Fällen benötigen Sie den Besitzer der Datei nicht, wenn Sie es programmgesteuert ausführen. –
Also was meinst du, ist die CustomAlert-Datei Besitzer ist CustomAlert-Klasse, weil ich das Ziel zu CustomAlert-Klasse hinzufügen? – johnMa