Warum erhalte ich einen Fehler für das?
-
22-08-2019 - |
Frage
Warum erhalte ich diese Fehlermeldung? alt text http://img39.imageshack.us/img39/2203/help.tif
Dort heißt es:
Fehler: Antrag auf Mitglied „jokeTableView“ in etwas keinen struk oder Vereinigung
Was bedeutet das? Und warum ist es zu brechen. Ich habe versucht, über initWithStyle aber ich konnte einfach auf sie aufholen
Hier ist meine H-Datei:
#import <UIKit/UIKit.h>
@interface TableViewController : UITableViewController {
NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView;
}
@property (nonatomic, retain) NSMutableArray *jokes;
@end
Danke!
Lösung
Ihr Objekt (Tableviewcontroller) hat keine Eigenschaft mit dem Namen jokeTableView.
Um jokeTableView mit dem speziellen Punkt-Operator zugreifen zu können, braucht es eine Eigenschaft zu sein. Andernfalls müssen Sie es Schlüsselwert-Coding-konformen Methoden oder direkt auf die Verwendung mit Zugriff -> Operator (oder es einfach als Ivar verwenden und ohne Bezug auf sich selbst):
jokeTableView.delegate = self;
oder
self->jokeTableView.delegate = self;
oder
[self jokeTableView].delegate = self;
oder
@property (retain) UITableView *jokeTableView;
// later...
self.jokeTableView.delegate = self;
Beachten Sie auch, jedoch, dass Sie eine Steckdose in dem Initialisierer setzen und das wird nicht funktionieren. Sie werden diese eingestellt haben in der -. [Tableviewcontroller awakeFromNib] Methode, da selbst> jokeTableView wird null, wenn die Initialisierung tatsächlich aufgerufen wird (die Serialisierung das Objekt in die Nib-Datei in IB vor geschieht)
Andere Tipps
Da Sie tun dies bei init Zeit, sollten die Auslässe NULL sein, so dass diese Initialisierung sollte nichts tun. Dies sollte so früh wie bei awakeFromNib Zeit durchgeführt werden.