1

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

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

@synthesize routeOutText = &routeOutLabel.text;

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

4

1 回答 1

3

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

但话虽如此,您可以在 .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 文件。

于 2013-05-17T18:35:07.573 回答