模型,视图和控制器之间的连接

Sno*_*olf 0 model-view-controller ios

我经常搜索并阅读了很多关于MVC概念的内容.但我仍然不知道如何将它们连接在一起.假设我有一个控制器类,视图类和模型类.如果用户在该视图中执行了某些操作,则视图应通知控制器操作,并且控制器可能需要与模型通信以获取某些数据.

  1. 现在,视图是否持有对控制器的引用?控制器是否具有该模型的属性?或者他们只是使用像"包括"?
  2. 数据保存在内存或数据库中?内存意味着存储在变量中.
  3. 更复杂的情况,用户的一个动作可能需要涉及许多控制器和模型.如何协调他们?

我之前做的是创建一个"视图控制器",它具有该视图的视图和一些动作.有时候没有模特.所有数据都通过参数传递.如果有一些模型,其中一些是单身,所以我可以到处获取它.

Rui*_*res 5

这是一个非常通用的答案,取决于您的系统,这些可能会有所不同:

  1. Controller具有参照View,一个IBOutlet例如.View不知道Controller,接收信息并显示它是一个愚蠢的事情,就是这样.

  2. 取决于您所拥有的内容,有时您不需要持久保存数据并且只需要变量即可.对于持久化数据,您可以使用CoreData,plists或将它们保存在沙箱中.

  3. 通常你可以有一个父控制器,持有对子控制器的引用.每个孩子都应该是独立的,父母将是他们之间的"粘合剂".

我可以向您指出我创建的这个名为iOS Architecture的 repo ,以帮助您了解控制器和模型之间的交互方式.