【发布时间】:2016-09-24 12:48:07
【问题描述】:
我正在设计一个 To Do List iOS 应用程序。我有多个表视图,它们都修改相同的列表数组。我应该为待办事项列表数组模型使用单例类,以便它始终是最新的,无论哪个表视图正在访问它?
最好有一个主控制器类(单例),它也包含模型数据,并有一些与数据交互的方法。那么是不是让其他控制器在主控制器上调用这些方法呢?
【问题讨论】:
标签: ios
我正在设计一个 To Do List iOS 应用程序。我有多个表视图,它们都修改相同的列表数组。我应该为待办事项列表数组模型使用单例类,以便它始终是最新的,无论哪个表视图正在访问它?
最好有一个主控制器类(单例),它也包含模型数据,并有一些与数据交互的方法。那么是不是让其他控制器在主控制器上调用这些方法呢?
【问题讨论】:
标签: ios
是的,这就是 MVC 的理念。你有一个模型,它有多个视图,交互由多个视图控制器协调。
您不必将模型设为单例,尽管这是 iOS 开发中非常常见的方法。
【讨论】:
当然,这肯定是一种方法。
如果您后来决定要让您的应用基于文档,那么您可能需要返回并重构,因此在做出决定之前先考虑未来的使用。
【讨论】:
这样做完全可行,但是您失去了可能拥有多个模型对象的灵活性。我个人建议有一个单例“经理”,它从你的后端(或来自任何地方)获取模型,并持有对模型的引用。
【讨论】:
不,模型不应该是单例。单身人士被过度使用。您可能希望为用户提供创建多个待办事项列表的能力。例如,可能一个用于家庭,一个用于工作。每个列表都是待办事项列表数据模型的一个单独实例。
使用单例会阻止您拥有多个活动的待办事项列表。
【讨论】: