0

新手警告 - 我正在尝试创建一种方法来更新跨多个文件的多种方法显示的信息。我是 Obj-C 的新手,但在 C 中这很简单——使用函数调用。

似乎单例设计模式是解决方案 - 创建一个更新显示信息的单例,并且单例方法“全局”可用并更新 IBOutlet 变量。有一个显示对象,可以通过系统中的任何方法对其进行操作。

这似乎不起作用。我怀疑这是由于我对单例如何处理 IBOutlet 变量的误解。也许在 IB 中建立的连接在单例中不起作用?

这肯定是一个常见问题——从多个对象访问用户界面?这个问题的优雅解决方案是什么?

4

1 回答 1

0

IB 不处理单例。但是你有一些选择:

您可以调用单例的方法,用于连接 IBAction 方法。

或类似的:在该 IBAction 方法中,您可以通过 NSNotificationCenter广播通知。

要从不同的类通知您的 UI 发生了更改,请为您的视图控制器创建一个协议并创建一个符合此协议的委托。

并且帮自己一个忙:坚持可可所依赖的MVC 模式。否则,您将与框架抗争,而不是使用它。

于 2012-05-01T10:09:11.430 回答