-1

我有UILabel *lblTest。我将此标签的文本设置为Interface Builder.

现在我通过代码将 lblTest 文本设置为“新测试”。

所以现在我又想获得我已经设置的“测试”文本Interface Builder

有没有办法巧妙地做到这一点?

注意:我对行代码数不感兴趣....期待单行解决方案。

提前致谢。

4

2 回答 2

1

我猜您想要类似“撤消”功能的东西。没有特殊的方法可以做你描述的事情。您可以做的一件事是:

  1. 在将标签文本设置为“新测试”之前,将第一个字符串存储在 NSString 变量中

    NSString *oldString = lblTest.text;
    
  2. 更改代码中的文本。

    self.lblTest.text = @"new test";
    
  3. 需要时,将其更改回旧字符串。

    self.lblTest.text = oldString;
    
于 2013-01-09T13:03:47.713 回答
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];

还是真的没什么意思。。

于 2013-01-09T13:04:46.677 回答