代码之家  ›  专栏  ›  技术社区  ›  mk12

iPhone开发人员-使用模型帮助

  •  0
  • mk12  · 技术社区  · 15 年前

    (顺便说一下,我不使用接口 生成器)

    我有一个由一个根uiviewcontroller组成的小项目,它用一个uitabarr管理其他5个视图控制器,我不使用uitabarcontroller。根视图控制器只会将其一个视图控制器实例化,当选择选项卡栏项时,与该选项卡关联的视图控制器将被实例化,旧的视图控制器将被删除,新的视图控制器将添加为子视图,旧的视图控制器将被释放。

    每个视图控制器都有一个uipickerview(具有uidatepicker的视图除外)。当用户从选项卡1转到选项卡2并返回到选项卡1时,我希望视图控制器在选择器中被实例化为与以前相同的选定行,即使它被解除分配,所以我理解最好使用模型类的实例来存储有关视图控制器状态的信息,然后在每个VIE中生成in it方法。用给定的参数初始化的w控制器,该参数是模型的一个实例。

    有人能帮我吗?模型类应该是什么样子?它应该叫什么名字?它的一个实例如何用于存储有关一个视图控制器状态的信息,另一个实例如何存储有关另一个不同视图控制器的信息?我真的想让这个简单的项目尽可能完美,并遵循MVC设计模式,这样我就可以把我所有其他的标签栏应用程序都建立在这个基础上。

    谢谢!!

    2 回复  |  直到 15 年前
        1
  •  0
  •   jbrennan    15 年前

    看一看 NSMutableDictionary 尤其是对plist文件的读写部分。我相信苹果有一个示例应用程序在使用这种方法的某处浮动。

    基本上,你把你的视图层次结构写进一本字典,然后在应用程序退出时存储它。当您重新启动时,您将读入并重新配置视图。

        2
  •  0
  •   mk12    15 年前

    好吧,对于其他对此感到疑惑的人来说,我做了一个叫做“模型”的课程,并用 Download SynthesizeSingleton.h.zip 宏。当模型中的内容发生变化时,您可以使用kvo(键值观察)来做一些事情,了解这一点。 Here ,例如,您可以在编辑文本字段时使用uitextfield委托方法,在该方法中,使用用户更改为的新文本在文本字段的模型中设置ivar。