我正在开始一个新项目(学习目的),我正在尝试找出在以下场景中使用的最佳软件设计模式。
我有几个数据需要从多个网络服务下载并存储在我的应用程序中,以便稍后显示。但是,每个数据(例如教师,学生列表)将仅用于一个或多个特定视图控制器(例如,teacherViewController和studentsViewController)。
我读到Singleton模式或使用AppDelegate存储变量(像ApplicationData这样的对象)是一种不好的做法,在这个我要限制数据访问的例子中更是如此。
那么,我应该选择哪种设计模式?我已经阅读了有关依赖注入的内容,但我对此没有任何线索,或者它是否在这个问题上帮助我。如果它有帮助,一些解释的例子会很好。
答案 0 :(得分:0)
您需要某种数据库来存储下载的数据。好的选择是Realm和核心数据。处理数据的正确方法是:
根据需要下载数据。当您与学生一起打开VC时,只下载学生数据等等。
已编辑:如果您需要打开应用程序中的所有数据,请在第一个屏幕打开之前加载并放入数据库。然后只需使用DB向用户显示数据。