gpt4 book ai didi

macos - OSX 核心数据 : issue only for some entities: +entityForName: could not locate an entity named 'myEntity' in this model

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:18 24 4
gpt4 key购买 nike

这几天我一直在想办法解决这个问题:(

给出:

println("\(context)")
if context == nil {
println("context is nil")
}

let boardEntity: NSManagedObject = NSEntityDescription.insertNewObjectForEntityForName("Board", inManagedObjectContext: context) as NSManagedObject

let cardQueueEntity: NSManagedObject = NSEntityDescription.insertNewObjectForEntityForName("CardQueue", inManagedObjectContext: context) as NSManagedObject

boardEntity 保存良好。我什至直接在 sql 文件中验证了这一点。

cardQueueEntity 产生以下错误:
+entityForName: could not locate an entity named 'CardQueue' in this model.

  • println("(context)") 显示 <NSManagedObjectContext: 0x6080001dfd10>
  • 我已经三重检查名称是否与模型匹配 Tello.xcdatamodelId
  • 设置断点显示崩溃发生在cardQueueEntity。声明
  • 我查看了 sql 文件以验证实体名称是否也相同
  • 我已经手动删除了我的 sqllite 文件(在/library/containers/.. 中)以强制重建数据库,但结果是一样的
  • 我引用了 +entityForName: could not locate an entity named 'Dogs' in this model.和其他人,但找不到解决方案
  • 如果我注释掉 boards 或更改顺序,boards 仍然有效,而 cardQueue 无效。
  • println("\(context.persistentStoreCoordinator.managedObjectModel.entitiesByName)")显示所有实体。

这是我正在使用的核心数据堆栈(基于 http://www.cimgf.com/2014/06/08/the-core-data-stack-in-swift ),

@lazy var context: NSManagedObjectContext = {
let modelURL = NSBundle.mainBundle().URLForResource("Tello", withExtension: "momd")
let mom = NSManagedObjectModel(contentsOfURL: modelURL)

let psc = NSPersistentStoreCoordinator(managedObjectModel: mom)

let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let storeURL = (urls[urls.endIndex-1]).URLByAppendingPathComponent("Tello.sqlite")

var error: NSError? = nil

var store = psc.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: storeURL, options: nil, error: &error)
if (store == nil) {
println("Failed to load store")
}

var managedObjectContext = NSManagedObjectContext()
managedObjectContext.persistentStoreCoordinator = psc

return managedObjectContext
}()

但我在使用默认的 Apple 堆栈时也遇到了同样的问题。

谢谢!!

最佳答案

如果您遇到同样的问题,这可能对您有帮助,也可能不会帮助您,但为我解决问题的是将我的 mac 升级到 Yosemite beta 以及从 XCode beta1 升级到 beta3。

我不能说是这两件事中的哪一个做了 - XCode 最有意义,所以先试试吧。

(在 Mavericks 上编辑部署目标以明确构建 10.9 并没有解决我的问题。)

关于macos - OSX 核心数据 : issue only for some entities: +entityForName: could not locate an entity named 'myEntity' in this model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com