Pao*_*lpa 4 core-data ios magicalrecord swift
我的Swift项目与MagicalRecord崩溃 - CoreData库:https://github.com/magicalpanda/MagicalRecord
首先,我在AppDelegate.swift中设置MagicalRecord OK:
MagicalRecord.setupCoreDataStack() //-> This is OK. Don't crash
Run Code Online (Sandbox Code Playgroud)
但是,当我想创建一个"联系"实体实例时,我遇到了崩溃.
我的代码是下一个:
var context = NSManagedObjectContext.MR_contextForCurrentThread() // -> This is OK. Don't crash
var contact = Contact.MR_createInContext(context) // -> CRASH
Run Code Online (Sandbox Code Playgroud)
所有编译都可以,但是当App运行时,我得到下一次崩溃:
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
Run Code Online (Sandbox Code Playgroud)
MyProject键是$(PRODUCT_NAME),我该怎么解决这个问题?
亲切的问候
小智 8
这个问题有一个简单的解决方案.只需在swift NSManagedObject子类之前添加@objc(ClassName).这允许Objc方面知道该类的正确名称.否则它将包含在这种情况下不好的模块名称,因为它与您在Core Data模型中的名称不匹配.以下是我的一个快速项目的例子......
@objc(工厂)公共类工厂:NSManagedObject
| 归档时间: |
|
| 查看次数: |
3096 次 |
| 最近记录: |