gpt4 book ai didi

xcode - 在XCode、MVC中设计主/细节

转载 作者:行者123 更新时间:2023-12-03 16:27:06 27 4
gpt4 key购买 nike

我是 MVC 和 XCode 的新手,在将我对 MVC 的概念理解转化为设计和实现具体类时遇到了困难。我希望就如何构建 Controller 和 View 以获得预期的 UI 获得一些建议。这是针对 OS X 应用程序(而非 iOS)的。

我的对象模型有 3 个对象:Batch,它有一些文本成员和一个产品数组。 Product 有一些文本成员和图像数组。 Image 基本上是存储图像的路径。

这个想法是主视图将显示所有批处理的缩略图和标题的列表。单击其中一个将清除屏幕并显示该批处理中所有产品的缩略图。单击产品将清除屏幕并打开产品详细信息页面,其中显示产品数据和所有图像的缩略图。单击图像缩略图会显示占据整个窗口的图像。

正在努力解决的问题是这样的

  • 我使用哪些 Controller ?我继承哪一个?
  • 我是否在 XIB 对象列表中使用真实 Controller 或 NSObject
  • 我使用哪些 View ?我继承哪一个?
  • 哪些 View 可以位于 XIB 中,哪些 View 必须动态添加?

显然,我一无所知,也没有找到很好的教程来解释“为什么?”。任何方向都值得赞赏,因为我之前的尝试很复杂,而且几乎肯定会打破惯例和标准做法。

最佳答案

Apple 实际上针对您所询问的具体情况提供了相当不错的教程/示例:Creating a Master-Detail Interface

值得记住的一件事是,Apple 的 MVC 概念与“经典”MVC 模式有点不同(或者我怀疑 Martin Fowler 会这么说,无论如何)。我怀疑如果您将现有的 MVC 概念放在一边并学习 Apple 提供的一些介绍性示例,您会更容易使用它。

在 30,000 英尺处,Cocoa 可以说更像是 Model-View-Presenter,或者不幸命名为 Model-View-ViewModel 模式。最好记住整个模式可以嵌套或实例化多次(即乌龟一直向下)。在基于文档的应用程序的最简单情况下,您将有一个 NSDocument 子类。这将拥有模型,并且通常负责改变模型以及将其读取和写入磁盘。这样,它就是一个经典的 MVC Controller 。在默认的 Xcode 模板中,它也将成为窗口的所有者,因此将承担作为“ViewController”的双重职责,这是一个 Cocoa 主义,大致相当于 MVP 中的“Presenter”。 View 通常在 XIB 文件中指定,其生命周期由框架为您管理。

我现在要停止了,因为那里有非常好的引用资料,可以比我在这里更好地教你。看看这个:Document-Based App Programming Guide for Mac

关于xcode - 在XCode、MVC中设计主/细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17033853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com