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