ios - 如何从 AppDelegate 更新某些 ViewController 的标签?

标签 ios objective-c uiviewcontroller appdelegate

我有几个 View Controller ,每个 View Controller 都有一个标签或一个按钮。我想从 AppDelegate 更改可见 View Controller 按钮或标签的文本。我知道这是一种不好的做法,但我在 AppDelegate 中运行了一个后台线程,该线程在服务器上为用户查找新图像,如果有的话,它必须更新当前显示 View 导航栏标签中的新图像计数器.

我的想法是在 AppDelegate.m 中使用下一个代码:(ControllerWhichLabelIWantToChange*) self.navigationControllerClass.visibleviewcontroller。 ... 但是在这里我看不到我在 ControllerWhichLabelIWantToChange 中为其定义属性的标签或按钮。

所以问题是如何从 AppDelegate 访问不同 View Controller 的元素并改变它们?

最佳答案

一个可能对您更好的建议是使用 NSNotificationCenter发送有关各种更改的通知。任何希望刷新自己的 View 都可以响应此类通知。这是一种常见的做法。比如说,你正在后台处理主题数据,你有 20 个需要主题的实时 View ,你可以在后台处理完成时发布通知,所有正在观察通知的 View 都会收到通知,他们可以 self 更新。

关于ios - 如何从 AppDelegate 更新某些 ViewController 的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755804/

相关文章:

iOS Storekit 导致实时应用程序崩溃

ios - 在 iOS 中管理对 Web API 的异步调用

ios - XCode 编译器 Apple LLVM 3.1 与 LLVM GCC 4.2

iphone - 实例消息的接收者类型是前向声明 popToRootViewController

iphone - 不使用 UIImage 添加复杂的动画

ios - viewDidLoad() 中的 addSubView() 和 BringSubViewToFront() 不起作用

ios - 从 xib IBOutlets nil 快速加载 UIViewController

uiviewcontroller - tvOS - 在推 View Controller 转换期间捕捉 MENU 按钮按下

ios - ios中每个触摸点有一个指针吗

ios - React Native 中的原生 iOS View