joblinkapp's registerview problem

我正在使用 Core Data 开发一个 SwiftUI 项目。我的数据模型中有一个名为 AppleUser 的实体,具有以下属性:id (UUID)、name (String)、email (String)、password (String) 和 createdAt (Date)。所有属性都是非可选的。

我使用 Xcode 的自动生成创建了相应的 Core Data 类文件(AppleUser+CoreDataClass.swift 和 AppleUser+CoreDataProperties.swift)。我还有一个 PersistenceController,它使用模型名称 JobLinkModel 初始化 NSPersistentContainer。

当我尝试使用以下方法保存新的 AppleUser 对象时: 让用户 = AppleUser(上下文:viewContext) user.id = UUID() user.name = “用户 1” user.email = “...” user.password = “密码 1” user.createdAt = Date()【电子邮件格式正确,但已替换为“...”出于隐私原因】

尝试?viewContext.save() 我在控制台中收到以下错误:核心数据保存失败:Foundation._GenericObjCError.nilError, [:] 用户快照: [“id”: ..., “name”: “User1”, “email”: “...”, “password”: “...”, “createdAt”: ...] 所有字段都有有效值,核心数据模型似乎正确。我还尝试过: • 检查 NSPersistentContainer(name:) 中的模型名称是否与 .xcdatamodeld 文件 (JobLinkModel) 匹配 • 确保正确设置 AppleUser 实体类、模块和 Codegen(类定义、当前产品模块) • 删除重复或旧的 AppleUser 类文件 • 清理 Xcode 构建文件夹并从模拟器中删除应用程序 • 对上下文使用 @Environment(.managedObjectContext)

尽管如此,在保存新的 AppleUser 对象时,我仍然会收到 _GenericObjCError.nilError。

我想了解:

  1. 为什么即使所有字段都不是零且正确分配,核心数据也无法保存?
  2. 这可能是由于一些残留的旧类文件引起的,还是我缺少设置中的其他内容?
  3. 我应该采取哪些步骤来确保 Core Data 正确识别 AppleUser 实体并允许保存?

任何帮助或指导将不胜感激。

Thanks for the post. Sorry for the delay.

Do you get the same results with just the relevant code in a small test project? If so, please share a link to your test project. That'll help us better understand what's going on. If you're not familiar with preparing a test project, take a look at Creating a test project.

If you can provide that, will be easier to see the issue.

Thanks.

Albert Pascual
  Worldwide Developer Relations.

您好,感谢您的回复。我检查并确认所有 AppleUser 实体字段(id、name、email、password、createdAt)都是可选的,关系(posts、comments)是可选的,我在创建新对象时赋值,但 Core Data 在注册过程中仍然抛出 nilError;我已将我的项目上传到 GitHub 供您参考:https://github.com/Kawiichao/job。如果审核需要任何费用,请提前告知我。非常感谢您的盛情提议——我真的很感激!

joblinkapp's registerview problem
 
 
Q