我在Objective-C中正确设置了两个属性:
@property (nonatomic, retain) IBOutlet UILabel *label;
@property (nonatomic, retain) IBOutlet UITextView *textView;
我已经合成了它们并将它们链接到NIB文件中,但是当我开始使用它们时:
if (row==0) {
NSLog(@"First text");
[self.label setText:@"LABEL 1"];
[self.textView setText:@"LABEL 1"];
}
else if (row==1) {
NSLog(@"Second text");
[self.label setText:@"LABEL 2"];
[self.textView setText:@"LABEL 2"];
}
文本没有改变,但是正在调用NSLog而不是setText:我想知道为什么......
答案 0 :(得分:1)
它应该是一个IBOutlet,您可以在xib中链接它们。
现在您更新了问题,问题可能是您没有将它连接到您的viewcontroller的属性。因此结果。在您的问题中添加更多详细信息。
答案 1 :(得分:1)
答案 2 :(得分:0)
如果您的房产是出口,您应该按如下方式声明:
@property (nonatomic, retain) IBOutlet UILabel *label;
@property (nonatomic, retain) IBOutlet UITextView *textView;
您看到的行为表明您没有正确设置插座。
答案 3 :(得分:0)
第一种方法:
它应该被声明为IBOutlet,你应该像Praveen S所说的那样将它链接到XIB中的标签和textView。
第二种方法:
其他选项如果它不是XIB中的标签,那么您需要分配和初始化标签以设置其文本,即访问其属性/方法/属性。
UILabel *label = [[UILabel alloc] init];
[label setText:@"Text"];
label.frame = CGRectMake(0,0,20,20);
希望这有帮助。