2012-04-10 12 views
0
-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 

{ 

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 

preview.text = "hello"; 

} 

return self; 

} 

Vorschau es ist ein einfaches UILabel;warum - (id) init meine Objekte nicht sehen;

+0

zeigen Sie uns Header-Datei und synthetisieren – tutts

Antwort

1

weil Ihre IBOutlets (die UI-Komponenten) in der viewDidLoad Methode geladen werden
Sie können sie nicht in der init acces

+1

Meinst du "Sie können nicht sie in der init zugreifen";) – deanWombourne

+0

ja das ist es, Tnx – touti

1

Nur weil man von einer Feder Ihre View-Controller erstellt, bedeutet nicht, es sofort lädt es.

Sie benötigen einen Code zu setzen, die UI-Komponenten erfordert in viewDidLoad heißt

- (void)viewDidLoad { 
    preview.text = "hello"; 
} 

erstellt werden, wenn Sie überprüfen, preview wird nil in Ihrem init-Methode sein, um Texteinstellung auf es wird nicht funktionieren!

+0

Ok.A haben eine nächste Aufgabe.Ich erstelle ein NSDictionary mit einigen Daten aus plist und ich brauche eine Schaltfläche erstellen gleich Anzahl von Variablen in plist.Ich kann nicht eine Methode von viewdidload.Und kann ich Daten in NSDictionary außerhalb viewdidload laden? – user1036124

+0

".Ich kann keine Methode von viewdidload aufrufen" Ja, Sie können, warum nicht – touti

Verwandte Themen