我有UILabel *lblTest
。我在Interface Builder
中将文本设置为此标签为“test”。
现在我通过代码将lblTest文本设置为“新测试”。
所以现在我又要获得已在Interface Builder
中设置的“测试”文本。
有没有办法聪明地做到这一点?
注意:我对做多行代码不感兴趣.... 期待单线解决方案。
先谢谢。
答案 0 :(得分:1)
我想你想要一些像“撤销”功能。 没有特别的方法来做你描述的事情。 你可以做的一件事是:
在将标签文本设置为“新测试”之前,将第一个字符串存储在NSString变量中
NSString *oldString = lblTest.text;
从代码中更改文字。
self.lblTest.text = @"new test";
如果需要,请将其更改回旧字符串。
self.lblTest.text = oldString;
答案 1 :(得分:1)
您必须了解 Interface Builder 中的值将被您自己编写的代码覆盖。
因此,一旦您的代码更改了标签,您就可以恢复 Interface Builder 的值,如:
NSString* lblTestString = lblTestString.text;
//now set your value from the code
[lblTest setText:@"new Test"];
//and revert it to what was already in the interface builder
[lblTest setText:lblTestString];
真的没有任何意义..