2012-03-29 62 views
0

我单击按钮后,我的标签不显示任何内容。这是我的.h和.m文件获取文本字段的文本值并通过按钮单击将该值传递给标签

.h文件中

@interface TrialViewController : UIViewController 

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

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

@end 

.m文件

@implementation TrialViewController 

@synthesize myTextField = _myTextField; 

@synthesize myLabel = _myLabel; 

-(IBAction)buttonPressed:(id)sender { 

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

} 
+0

设置断点和检查_myLabel和_myTextField指针,它们可能没有连接。 – Davyd 2012-03-29 03:29:52

+0

也许用强而不弱? – lnafziger 2012-03-29 03:30:06

+0

@Davyd谢谢! :) _myTextField没有连接,这就是为什么。 – Hans 2012-03-29 03:47:37

回答

0

造成这种情况的最常见的原因是不具有任何网点或动作连接。你可以检查在xib文件/故事板?选择TrialViewController并选择右侧的连接检查器(小圆箭头)。

+0

好的,但我不知道哪个是连接到什么。 :( – Hans 2012-03-29 03:44:54

+0

已经发现!:)谢谢 – Hans 2012-03-29 03:46:42

+0

很高兴它的工作。 – danh 2012-03-29 03:59:09

0

当您使用weak作为声明的属性时,必须对该变量维护其他强引用或将其自动设置为nil。如果你声明它是强壮的,它会保持参考,直到你释放它为止(通常在viewDidUnload)。

更改这些行:

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

这样:

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

,并添加到您的viewDidUnload方法:

_myLabel  = nil; 
_myTextField = nil; 
+0

@Hans这是否回答你的问题? – lnafziger 2012-04-06 17:16:59

相关问题