如何为UILabel的文本属性制作替代名称?

时间:2013-05-17 17:08:51

标签: objective-c cocoa-touch pointers uilabel

可能是一个真正的新问题。我有UILabel名为routeOutLabel。我希望能够轻松访问其text属性。

我在考虑做这样的事情:

@synthesize routeOutText = &routeOutLabel.text;

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

1 个答案:

答案 0 :(得分:3)

为什么呢? 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文件。