在我采用MVC架构的应用程序中,我有两个不同的控制器,它们使用基本相同的模型类。
由于这个模型类在传递给新控制器时init
使用初始化类的新实例来取消归档整个对象图NSKeyedUnarchiver
,因此在资源方面可能会有点昂贵。
所以我想知道将指向第一个控制器的已初始化模型类的指针传递给第二个控制器是否是“好习惯”,而不是从头开始创建一个新实例。
你们有什么感想?
在我采用MVC架构的应用程序中,我有两个不同的控制器,它们使用基本相同的模型类。
由于这个模型类在传递给新控制器时init
使用初始化类的新实例来取消归档整个对象图NSKeyedUnarchiver
,因此在资源方面可能会有点昂贵。
所以我想知道将指向第一个控制器的已初始化模型类的指针传递给第二个控制器是否是“好习惯”,而不是从头开始创建一个新实例。
你们有什么感想?
所以我想知道将指向第一个控制器的已初始化模型类的指针传递给第二个控制器是否是“好习惯”,而不是从头开始创建一个新实例。
当然,如果两个控制器应该对相同的数据进行操作,那很好。视图控制器真的不应该依赖于模型的来源——它应该只使用你给它的那个。这使您的视图控制器保持灵活——这意味着您始终可以将同一个控制器与模型的不同实例一起使用。
这就是模型、视图和控制器分离的原因,这样您就可以轻松地像这样混合和匹配,而不必担心疯狂的重构。所以,是的,你可以,并且鼓励这样做。例如,控制器如何共享数据,尤其是当您在 iPhone 上使用向下钻取导航 UI 时。