objective-c - 使用 NSNotificationCenter 从另一个 View 更新 UILabel

标签 objective-c ios uilabel nsnotificationcenter

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

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

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

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

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

您认为问题出在哪里?

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

最佳答案

首先确保设置文本时标签不为 nil

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

[NSThread isMainThread]

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

关于objective-c - 使用 NSNotificationCenter 从另一个 View 更新 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232450/

相关文章:

ios - 使用插值动画 UILabel 文本属性

iphone - 2 个库中的 Objective-C 链接器错误

iphone - Objective-C:NSClassFromString() 与导航 Controller 一起使用?

ios - AVCapturePhotoOutput 崩溃

ios - 具有自定义转换的 presentViewController

ios - 捏合手势未应用于 UILabel 但应用于 UIView

ios - 图像的色调颜色不变

iphone - 带有 "+"的电话号码与没有 "+"的电话号码不同吗?

ios - 保存到服务器后 iOS 图像方向错误的 AS3 air 应用程序

Swift - 仅在按下类似按钮时更新 UITableView 中的计数标签而不是所有对象