【问题标题】:cocoa Document-based applicationscocoa 基于文档的应用程序
【发布时间】:2009-09-03 06:30:06
【问题描述】:

我正在 cocoa 中构建一个简单的基于文档的应用程序,但在链接我的文档实例之间的公共数据时遇到了问题。

我想要某种 AppController 并让我的所有文档都可以访问此类的同一个实例。

在 document.xib 中实例化对象将为每个文档创建不同的实例。而在 MainMenu 中实例化该对象会使该对象无法访问。

我怎样才能做到这一点?

【问题讨论】:

    标签: objective-c cocoa


    【解决方案1】:

    一种典型的方法是创建 AppController 对象的单例实例。 您也可以创建一个 AppController 实例并将其保存在您的 AppDelegate 中。 然后,您可以稍后通过调用从代码中的任何位置访问它

    [[NSApp delegate] myAppController]

    或在 iPhone 上:

    [[UIApplication sharedApplication].delegate myAppController]

    在精彩的 cocoawithlove 博客上进一步阅读 http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

    【讨论】:

      【解决方案2】:

      假设您有充分的理由让单独的文档共享数据(而不是将其放在首选项窗口或其他东西中),您可能应该将 SharedDataController(“AppController”非常宽泛)设置为单例。我有一篇关于 the correct way to make one 的博文。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多