首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么CoreData在保存后造成实体错误?

为什么CoreData在保存后造成实体错误?
EN

Stack Overflow用户
提问于 2022-10-12 19:23:07
回答 1查看 25关注 0票数 -1

我的脚步:

如果.init(context: NSManagedObjectContext)

  • Save上下文有更改,则
  1. 通过它创建实体。保存是成功的。
  2. 使用该实体设置一些值。示例:let newString = "test == \(entity.id.intValue)"

在步骤2之后,实体的id值时间变为0的问题。

我进行了调试,并有两种类型的输出:

  1. <Entity: 0x60000023def0> (entity: Entity; id: 0x600002777d40 <x-coredata:///UserEntity/tC5203E3F-0F4A-4937-B44A-45CD578382AA10>; data: <fault>)
  2. <Entity: 0x6000003c9f40> (entity: Entity; id: 0xab5e4a90b6dee4ba <x-coredata://3EC29A9F-A81A-49EC-B4BE-23004ECF10FF/UserEntity/p88>; data: { ...has data }

在第一种情况下,isFaulttrue,其次是false

我不明白为什么保存上下文会使实体出错?

EN

回答 1

Stack Overflow用户

发布于 2022-10-12 19:58:31

我假设bug可能在您的代码中某个地方,而您的问题中没有显示。这就是为什么我要给出函数来获取实体中的值。如果我发布的代码没有帮助,那么可能是时间问题。

代码语言:javascript
运行
复制
static let persistentContainer: NSPersistentContainer = {
  
let container = NSPersistentContainer(name: "YOUR_APPs_NAME")
container.loadPersistentStores { (_, error) in
  if let error = error as NSError? {
    fatalError("Unresolved error \(error), \(error.userInfo)")
  }
}

static var context: NSManagedObjectContext { return persistentContainer.viewContext }

func loadUserIsVerified() -> Id {
    
    var id : Id!
    let context = CoreDataStack.persistentContainer.viewContext
    let fetchRequest: NSFetchRequest< Id > = Id.fetchRequest()
    
    do {
        let ids = try context.fetch(fetchRequest)
        if(sessions.count > 0) {
            id = ids.first
        }
    } catch {
        print("Something happened while trying to retrieve tasks...")
    }
    return id
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74047064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档