gpt4 book ai didi

iphone - 在 MVC 中,您在哪里放置对模型类的引用?

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

在询问了不同的人并且没有人提供我所说的“至少有点具体的答案”之后,我一直想知道:

问题:

在 iPhone 应用程序中,应用程序应在何处保留对其模型类的引用(使用 MVC 方法)?

在 iPhone(和 Cocoa)应用程序中,我们有所谓的“App Delegate”,它基本上启动我们的应用程序并初始化我们的 Controller ,还处理 UITouch 事件。

那么 App Delegate 是一个 Controller 吗?模型类?两者都没有?我认为不知道这一点也会让人困惑于将模型引用放在哪里。

示例:

您有应用程序委托(delegate),该委托(delegate)包含对您的应用程序 View Controller 的引用。如果我的应用程序使用模型类 A(这是一个网络服务器守护程序类),以及存储该网络服务器查询的数据的 B 类。

你们会将 A 和 B 的引用存储在哪里? (应用程序委托(delegate)? View Controller ?两者?)

这里有很多选项,但作为一个例子,我真的很想知道你们如何使用 mvc 来组合这个仅使用一个 View 的应用程序。

最佳答案

将所有内容都放在 AppDelegate 中是很诱人的,但如果您开始这样做,那么您的 AppDelegate 将充满引用黑客。如果您正在执行严格的 MVC,那么您应该做三件事:

  • 模特
  • View Controller (仅用于 View 逻辑)
  • Controller (用于协调 View 和模型)

例如,我有一个模型 Foo 和一个 Foo Controller 。我会:

  • Foo.m(模型)
  • FooViewController.m(显示 Foo)
  • FooController.m(控制逻辑)

最后,为了回答你的问题,我将对 Foo 的引用存储在 foo Controller 中。我喜欢为我的 Controller 使用单例,但那只是我。如果您确实使用单例,则可以执行以下操作:[[FooController sharedInstance] listOfFoos] 获取您的 Foo

关于iphone - 在 MVC 中,您在哪里放置对模型类的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222111/

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