ios - 在 Swift 中仅初始化一次 CoreData 实体

标签 ios swift core-data

我对在 Swift 中使用 CoreData 还很陌生,我想创建一个用于学习目的的持久成绩管理器。

我的类结构如下:我的 CoreData 中有一个“学生”实体,与“类(class)”实体具有一对多关系(与“成绩”实体具有一对多关系)。

我想在第一次启动时自动初始化学生,因此用户只需添加类(class)和成绩,但我不知道如何做到这一点。

目前,我的 viewDidLoad() 中有初始化程序,但这基本上意味着它被创建了很多次。

我的问题有什么解决办法吗?

最佳答案

如果我理解正确的话,你只需要 1 个学生实体。 此外,将初始化程序代码放入 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 步中,不会找到任何学生,它将创建一个学生并向您返回实体。 之后,在每次运行中,该方法每次都会返回旧创建的学生。

我希望我理解您的要求并且这对您有帮助。

关于ios - 在 Swift 中仅初始化一次 CoreData 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44322643/

相关文章:

ios - 如何创建一个内部有透明圆圈的 UIView(快速)?

ios - CCParticleSystem 说它正在运行,不可见

ios - canOpenURL : failed for URL: "instagram://app" - error: "This app is not allowed to query for scheme instagram"

ios - 在 iOS 13 上拖动时 UICollectionView 单元格会捕捉到原始位置

ios - 如何在 Swift 中合并多个数组?

cocoa - 迁移复杂的核心数据模型

ios - fatal error : to change segue

ios - 快速查找 iPhone 的 compass 方向

ios - NSManagedObject 循环返回重复项 Swift

ios - 如何检索由具有不正确 CoreData 架构的更新 iOS 应用程序导致的数据丢失