Ios MVC:将一个模型从一个ViewController传递到另一个ViewController是一种“良好实践”吗?

Ios MVC:将一个模型从一个ViewController传递到另一个ViewController是一种“良好实践”吗?,ios,model-view-controller,Ios,Model View Controller,在我采用MVC架构的应用程序中,我有两个使用基本相同模型类的不同控制器 由于init上的这个模型类使用NSKeyedUnarchiver取消归档整个对象图,因此在传递给新控制器时初始化该类的新实例在资源方面可能会有点昂贵 所以我想知道,将指向第一个控制器的已初始化模型类的指针传递给第二个控制器,而不是从头创建一个新实例,这是否是一种好的做法 你们觉得怎么样 所以我想知道将指针传递给 已初始化的第一个控制器的模型类 第二个控制器,而不是从头开始创建新实例 当然,如果两个控制器在相同的数据上运行,那

在我采用MVC架构的应用程序中,我有两个使用基本相同模型类的不同控制器

由于init上的这个模型类使用NSKeyedUnarchiver取消归档整个对象图,因此在传递给新控制器时初始化该类的新实例在资源方面可能会有点昂贵

所以我想知道,将指向第一个控制器的已初始化模型类的指针传递给第二个控制器,而不是从头创建一个新实例,这是否是一种好的做法

你们觉得怎么样

所以我想知道将指针传递给 已初始化的第一个控制器的模型类 第二个控制器,而不是从头开始创建新实例

当然,如果两个控制器在相同的数据上运行,那就好了。视图控制器实际上不应该依赖于模型的来源-它应该只使用您提供的模型。这使视图控制器保持了灵活性—这意味着您可以始终对模型的不同实例使用相同的控制器

所以我想知道将指针传递给 已初始化的第一个控制器的模型类 第二个控制器,而不是从头开始创建新实例


当然,如果两个控制器在相同的数据上运行,那就好了。视图控制器实际上不应该依赖于模型的来源-它应该只使用您提供的模型。这使视图控制器保持了灵活性—这意味着您可以始终将同一个控制器用于不同的模型实例。

这就是将模型、视图和控制器分离的原因,这样您就可以轻松地进行混合和匹配,而无需担心疯狂的重构。所以,是的,你可以,这是鼓励。除此之外,控制器如何共享数据,特别是当您在iPhone上使用向下搜索导航UI时。

这就是将模型、视图和控制器分离的原因,这样您就可以轻松地进行混合和匹配,而不用担心疯狂的重构。所以,是的,你可以,这是鼓励。除此之外,控制器如何共享数据,特别是当您在iPhone上使用向下搜索导航UI时。

非常确定MVVC的核心概念之一是每个视图都有一个模型……嗯,可能我不清楚,或者可能我不明白您的意思,如果是这样的话,我很抱歉,但我不是英语母语,最重要的是,我是MVC新手。不管怎样,我不是说在一个控制器中有两个模型,我是说两个控制器共享同一个模型。好的,我建议您更改标题。。。ViewController是MVVC,它是MVC的衍生物。一般来说,每个视图需要一个模型类,默认情况下,每个控制器需要一个模型类。这允许您将特定于控制器的业务验证逻辑放入模型中。如果您对多个控制器使用相同的模型,那么您的控制器可能是冗余的。@JeremyHolovacs在iOS开发环境中,控制器通常称为视图控制器,但范例仍然通常称为视图控制器。此外,不需要将模型类与视图绑定在一起——关键是要将数据的存储和操作方式与数据的显示和输入方式解耦。没有必要更改标题。@Caleb很高兴知道!谢谢。非常确定MVVC的核心概念之一是每个视图都有一个模型……嗯,也许我不清楚,或者可能我不明白你的意思,如果是这样的话,我很抱歉,但我不是以英语为母语的人,最重要的是,我是MVC的新手。不管怎样,我不是说在一个控制器中有两个模型,我是说两个控制器共享同一个模型。好的,我建议您更改标题。。。ViewController是MVVC,它是MVC的衍生物。一般来说,每个视图需要一个模型类,默认情况下,每个控制器需要一个模型类。这允许您将特定于控制器的业务验证逻辑放入模型中。如果您对多个控制器使用相同的模型,那么您的控制器可能是冗余的。@JeremyHolovacs在iOS开发环境中,控制器通常称为视图控制器,但范例仍然通常称为视图控制器。此外,不需要将模型类与视图绑定在一起——关键是要将数据的存储和操作方式与数据的显示和输入方式解耦。没有必要更改标题。@Caleb很高兴知道!谢谢