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

标签 ios

当一本初学者书籍在第三章中出现与源代码相关的错误时,这绝不是一个好兆头,但我在这里使用 Apress 的 Beginning iOS 6 Development。我们正在开发一个简单的项目,它提供两个按钮并根据按下的按钮的名称更改标签。

这本书最初的要求是使用 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 *”上找不到属性“文本”

我猜这是愚蠢的事情,但如果您能给我任何帮助,我将不胜感激。

最佳答案

错误的拼写非常好,

Property 'text' not found on object 'UIView *'

这意味着您可能将 statusLabel 声明为 UIView。像这样的东西:

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

当它应该被声明为 UILabel 时:

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

重要的是要记住,即使 UILabel 确实继承自 UIView,但这并不意味着它们共享所有相同的属性/方法。在这种情况下,UIViewUILabel 子类声明了一个属性 @property(nonatomic, copy) NSString *text; 它不存在于它的父类(super class)(UIView)。

关于ios - 开始 iOS 6 开发 - self.statusLabel.text 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454461/

相关文章:

ios - 子文件夹中的资源未包含在 ipa 中

ios - 从带有数据的照片库中打开 UIImage

ios - map 注释添加图像

ios - 通过 AFNetworking 上传到 Amazon-S3

ios - 场景转换按钮的选择器无法识别

javascript - 网络离线应用程序可以访问本地文件吗?

ios - Travis-CI 无法打开文件

ios - 无法找到 Cocoapod MotionKit 框架派生数据

ios - Swift - 运算符 == 不能应用于两个 Int 操作数

ios - Dropbox - 应用程序文件夹已删除 - 出现 NSURLErrorRequestBodyStreamExhausted 错误 - iOS