gpt4 book ai didi

ios - Swift 中的 MagicalRecord createEntity 错误

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:37 25 4
gpt4 key购买 nike

我使用 MagicalRecord - CoreData 库的 Swift 项目发生崩溃:https://github.com/magicalpanda/MagicalRecord

首先,我在 AppDelegate.swift 中设置 MagicalRecord OK:

MagicalRecord.setupCoreDataStack() //-> This is OK. Don't crash

但是,当我想创建一个“联系人”实体实例时,我遇到了崩溃。

我的代码是下一个:

var context = NSManagedObjectContext.MR_contextForCurrentThread() // -> This is OK. Don't crash
var contact = Contact.MR_createInContext(context) // -> CRASH

所有编译都正常,但是当应用程序运行时,我遇到了下一次崩溃:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an entity named 'MyProject.Contact' in this model.' *** First throw call stack: 
(0x27861f77 0x34870c77 0x27590c73 0x9b93d 0x74f28 0x75438 0x2aea6e33 0x2b09acef 0x2b09d19d 0x2b0a79f9 0x2b09ba5b 0x2e106141 0x2782881d 0x27827ae1 0x2782627f 0x27773da1 0x27773bb3 0x2aea0ae7 0x2ae9bc41 0x75ab0 0x75aec 0x34e10aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException

MyProject 键是 $(PRODUCT_NAME),我该如何解决这个问题?

亲切的问候

最佳答案

这个问题有一个简单的解决方案。只需在 swift NSManagedObject 子类之前添加 @objc(ClassName) 即可。这允许 Objc 端知道类的正确名称。否则它将包含模块名称,这在本例中是错误的,因为它与您的核心数据模型中的名称不匹配。这是我的一个 swift 项目的例子......

@objc(Plant) 公共(public)类 Plant: NSManagedObject

关于ios - Swift 中的 MagicalRecord createEntity 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746621/

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