【问题标题】:How to make alternative name for UILabel's text attribute?如何为 UILabel 的文本属性创建替代名称?
【发布时间】:2013-05-17 17:08:50
【问题描述】:

可能是一个真正的新手问题。我有一个名为routeOutLabelUILabel。我想让访问它的text 属性变得容易。

我正在考虑做这样的事情:

@synthesize routeOutText = &routeOutLabel.text;

但它不起作用。我怎样才能让routeOutText指向routeOutLabel.text,所以要改变第二个,我只需要设置第一个?

【问题讨论】:

  • 听起来你有JAVA背景。使用 Objective-C,直接访问属性被认为是常见的做法,例如self.routeOutLabel.text = @"真棒文字";

标签: objective-c cocoa-touch pointers uilabel


【解决方案1】:

为什么? UILabel 也有其他属性。没有理由做你所要求的。它会使您的代码更难阅读和维护。

话虽如此,您可以在 .m 文件中定义这样的私有属性:

@interface WhateverClassThisIs ()

@property (nonatomic) NSString *labelText;

@end

@implementation WhateverClassThisIs

- (void)setLabelText:(NSString *)text {
    self.routeOutLabel.text = text;
}

- (NSString *)labelText {
    return self.routeOutLabel.text;
}

@end

现在在您的代码中执行以下操作:

self.labelText = @"Hello";

代替:

self.routeOutLabel.text = @"Hello";

如果外部类需要此快捷方式,请将属性声明移至 .h 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2011-06-25
    • 2013-04-22
    • 1970-01-01
    相关资源
    最近更新 更多