al0*_*l03 1 objective-c uilabel nsobject ios
aClass.aString = @"A";
self.aLabel.text = aClass.aString;
Run Code Online (Sandbox Code Playgroud)
如果我将aClass.aString更改为"B",也希望self.aLabel.text自动更改为"B".
这个怎么运作?
我是否可以在aClass.aString和self.aLabel.text之间建立一个强大的链接?我知道在objective-c,delegate和KVO中有一些方法可以做到这一点,但它有很多事要做,它有一些简单的方法吗?
tro*_*foe 12
你必须自己管理它.如果你看一下UILabel text属性的定义(链接),你会发现它复制了字符串内容,正是因为这个原因:
@property(nonatomic, copy) NSString *text
Run Code Online (Sandbox Code Playgroud)
您可以为aString属性编写自定义setter方法:
- (void)setAString:(NSString *)aString
{
_aString = aString;
self.aLabel.text = aString;
}
Run Code Online (Sandbox Code Playgroud)
(如果您遵循当前clang为您生成支持实例变量和访问器方法的趋势,那么您可能需要显式声明此特定的一个,即使用名为的实例变量_aString).
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |