0

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

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

那么问题是如何从 AppDelegate 访问不同视图控制器的元素并更改它们?

4

1 回答 1

4

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

于 2013-02-07T16:45:28.140 回答