在Swift中只初始化一次CoreData实体

时间:2017-06-02 06:55:42

标签: ios swift core-data

我很擅长在Swift中使用CoreData,我想为学习目的创建一个持久的成绩管理器。

我的课程结构如下:我的CoreData中有一个'Student'实体,与'Course'实体有很多关系(与'Grade'实体有很多关系)。

我想在第一次启动时自动初始化学生,因此用户只需要添加课程和成绩,但我无法知道如何这样做。

我目前在我的viewDidLoad()中有初始值设定项,但这基本上意味着它会被创建很多次。

我的问题的解决方案是什么?

1 个答案:

答案 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步中找不到学生时,它将创建一名学生并返回该实体。 然后在每次运行中,该方法将每次返回旧创建的学生。

我希望我理解你的要求,这对你有帮助。