开始iOS 6开发 - self.statusLabel.text构建失败

时间:2013-05-09 04:38:05

标签: ios

当初学者的书在第三章中有关于源的错误时,这绝不是一个好兆头,但在这里我是从Apress开始iOS 6开发。我们正在开发一个简单的项目,它提供两个按钮,并根据按下的按钮的名称更改标签。

本书的初始要求是使用 statusLabel.text = plainText; ,但失败了。

之前已在另一个thread上进行过讨论,因此我将其修改为 self.statusLabel.text = plainText; ,但这并未解决我的问题。

这是我的代码:

#import "BIDViewController.h"

@implementation BIDViewController

- (IBAction)buttonPressed:(UIButton *)sender {

    NSString *title = [sender titleForState:UIControlStateNormal];
    NSString *plainText = [NSString stringWithFormat:@" %@button pressed.", title];
    self.statusLabel.text = plainText;

} 

@end

引发的错误如下:对象'UIView *'上找不到属性'text'

我猜这是愚蠢的,但我很感激你能给我的任何帮助。

1 个答案:

答案 0 :(得分:6)

错误很明确,

  

在对象'UIView *'

上找不到属性'text'

意思是你可能将statusLabel声明为UIView。类似的东西:

@property (weak, nonatomic) IBOutlet UIView *statusLabel;

什么时候应该宣布为UILabel:

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

重要的是要记住,即使UILabel继承自UIView,但这并不意味着它们共享所有相同的属性/方法。在这种情况下,UILabel的{​​{1}}子类声明了一个属性UIView,该属性在其超类(@property(nonatomic, copy) NSString *text;)中不存在。