Hey alle; Ich überarbeite gerade ein paar View-Controller, die ein paar IBOutlet
s und IBAction
Methoden teilen. Ich habe die Outlet-Deklarationen und die IBAction
-Methode in eine Superklasse verschoben und diese aus den Unterklassen herausgeschnitten.Wie kann ich auf IBOutlets zugreifen, die in der Superklasse deklariert sind?
Jetzt, wenn ich den Interface Builder öffne, finde ich, dass ich die in der Oberklasse deklarierten Ausgänge oder Aktionen nicht sehen kann. Die Verbindungen bestehen immer noch, da ich sie vor dem Refactoring verdrahtet habe, aber sie sind ausgegraut. (Es ist wichtig zu beachten, dass die Verbindungen auch funktionieren, wie meine Aktion auf Knopfdruck ausgelöst wird, und meine Steckdosen werden ordnungsgemäß geändert.)
Die Frage ist, wie kann ich Interface Builder zu erkennen, Outlets von einer Oberklasse? Ist das möglich und wenn nicht, was empfehlen Sie?
(Just for fun, hier ist meine Super Header-Datei :)
@interface TFMainViewController : UIViewController {
UIImageView *logoImage, *thinkfunImage;
UIButton *buyFullButton;
}
@property (nonatomic, retain) IBOutlet UIImageView *logoImage, *thinkfunImage;
@property (nonatomic, retain) IBOutlet UIButton *buyFullButton;
-(IBAction) buyFullVersion;
@end
EDIT: falls jemand fragt sich, ich bin mit Xcode und IB 3.2.5, mit dem iOS 4.2 SDK.
Haben Sie jemals herausgefunden, ob dies möglich ist oder nicht? Ich hatte gehofft, dasselbe zu tun, aber IB scheint die Eigenschaft nicht zu erkennen, es sei denn, ich habe sie in der Unterklasse neu deklariert? – Rog
irgendwelche Nachrichten zu diesem Einzelteil? Ich stoße hier auf dasselbe Problem - diesmal mit der InstallerPlugin-Superklasse (InstallerPane), die nicht meine ist, also kann ich sie nicht ändern --- nur Dokumentation sagt, dass ich meine .xib mit einigen Eigenschaften der Superklasse verbinden muss !! ! Wie man? –