UIlabel - 将文本属性与另一个NSString链接

tro*_*ner 2 iphone cocoa-touch uilabel

是否可以将UILabel文本属性与另一个NSString"链接",以便在更改其他NSString时,UILabel文本属性是否也会更改?

例:

UILabel *label = [[UILabel alloc] init];  
NSString *str = @"labelText1";  
label.text = str;  
str = @"labelText2"; //after this assignment label.text is still "labelText1"
Run Code Online (Sandbox Code Playgroud)

小智 5

在你的问题中,你没有"改变"任何对象 - NSString实例是不可变的,你只是说一些变量指向一个实例而不是另一个实例.假设您的字符串实际上是某个其他模型对象的属性,您可以让控制器观察该属性(with -observeValueForKeyPath:ofObject:change:context)并在每次看到更改时更新标签.