2012-03-29 4 views
0

Mein Label wird nicht angezeigt, nachdem ich auf die Schaltfläche geklickt habe. Hier ist meine .h und .m-DateienAbrufen des Textwerts des Textfelds und Übergeben dieses Werts an eine Beschriftung durch Klicken auf eine Schaltfläche.

.h-Datei

@interface TrialViewController : UIViewController 

@property (weak, nonatomic) IBOutlet UILabel *myLabel; 

@property (weak, nonatomic) IBOutlet UITextField *myTextField; 

@end 

.m-Datei

@implementation TrialViewController 

@synthesize myTextField = _myTextField; 

@synthesize myLabel = _myLabel; 

-(IBAction)buttonPressed:(id)sender { 

    self.myLabel.text = self.myTextField.text; 

} 
+0

einen Haltepunkt setzen und _myLabel und _myTextField Zeiger kontrollieren, sie ist möglicherweise nicht verbunden. – Davyd

+0

Vielleicht stark statt schwach? – lnafziger

+0

@Davyd Danke! :) _myTextField ist nicht verbunden, deshalb. – Hans

Antwort

0

Die häufigste Ursache hierfür ist nicht entweder die Ausgänge oder die Aktionen verbunden ist. Kannst du das in der XIB-Datei/dem Storyboard überprüfen? Wählen Sie den TrialViewController und wählen Sie rechts den Verbindungsinspektor (kleiner runder Pfeil).

+0

Ok, aber dann weiß ich nicht was mit was zu verbinden ist. :( – Hans

+0

Ich habe es schon herausgefunden! :) danke – Hans

+0

froh, dass es funktioniert hat. – danh

0

Wenn Sie schwach als deklarierte Eigenschaft verwenden, muss eine andere starke Referenz für diese Variable beibehalten werden oder sie wird automatisch auf Null gesetzt. Wenn Sie es als stark deklarieren, behält es die Referenz, bis Sie es freigeben, indem Sie es auf Null setzen (typisch in viewDidUnload).

ändern diese Zeile:

@property (weak, nonatomic) IBOutlet UILabel *myLabel; 
@property (weak, nonatomic) IBOutlet UITextField *myTextField; 

dazu:

@property (strong, nonatomic) IBOutlet UILabel *myLabel; 
@property (strong, nonatomic) IBOutlet UITextField *myTextField; 

und fügen Sie diese zu Ihrer viewDidUnload Methode:

_myLabel  = nil; 
_myTextField = nil; 
+0

@Hans Hat dies Ihre Frage beantwortet? – lnafziger

Verwandte Themen