我很擅长在Swift中使用CoreData,我想为学习目的创建一个持久的成绩管理器。
我的课程结构如下:我的CoreData中有一个'Student'实体,与'Course'实体有很多关系(与'Grade'实体有很多关系)。
我想在第一次启动时自动初始化学生,因此用户只需要添加课程和成绩,但我无法知道如何这样做。
我目前在我的viewDidLoad()
中有初始值设定项,但这基本上意味着它会被创建很多次。
我的问题的解决方案是什么?
答案 0 :(得分:0)
如果我理解正确,你只想要一个学生实体。
在viewDidLoad
中放置初始化代码也不会在应用程序的单次运行中多次调用。
每次启动应用程序时,都会创建一个新学生。
它有一个非常基本且简单的解决方法,它围绕着获取和创建的概念。
按照伪代码中提到的步骤进行操作:
methodCreateOfFetchStudent(){
1. Search Core data for any student entity.
2. if found then return that studend (there will be only 1 found)
3. If No student entity is found (array.count == 0) , then create a student with initialisation code.
4. return that newly created student entity.
}
因此,当您的申请统计数据第一次在第2步中找不到学生时,它将创建一名学生并返回该实体。 然后在每次运行中,该方法将每次返回旧创建的学生。
我希望我理解你的要求,这对你有帮助。