0

我正在使用使用 NSNotification 中心调用的方法在另一个视图中更新 UILabel。

我发现它不起作用,标签保持不变,直到稍后重新加载视图(不使用 nsnotification 中心调用的方法)。

标签设置为非原子,保留,我使用 self 将所有内容绑定到该属性。

显然,所有尝试更新标签的代码(方法)都位于相应的 viewController 中。该方法被调用(我可以通过 NSLog 看到),它所做的只是 self.label2.text = @"label 2 updated";

我可以使用计时器更新标签的文本值就好了,所以我认为标签没有问题,而是我对线程和/或给定加载或未加载的内容的理解时间。

你认为是什么问题?

PS:我会选择一个答案,即使它对我没有太大帮助,所以请发表你最疯狂的猜测!

4

1 回答 1

1

首先确保您的标签不在nil您设置文本时。

如果不是nil,请在设置文本后尝试调用setNeedsLayout您的标签(这不是必需的)。另外,验证您是否在主线程上:

[NSThread isMainThread]

如果这没有帮助,请使用 的子类UILabel,覆盖setText并在其上放置断点以查看发生了什么。

于 2012-09-02T00:34:46.677 回答