我已经设置了一个新项目来调查Core Data与MagicalRecord的兼容性。我在CocoaPod中指定了'develop'分支,但我在使用MyProjectName.MyManagedObject.MR_fetchAllSortedBy和MyManagedObject.MR_fetchAllSortedBy时遇到了fetchRequests问题。我已将MyManagedObject创建为Swift文件,并在其他链接器标志中设置-ObjC标志。看到的错误是:'NSInvalidArgumentException',原因是:'获取请求必须有一个实体。' CoreData堆栈已成功设置。在获取请求的MagicalRecord中发生故障。
答案 0 :(得分:2)
在获取实体时,为NSManagedObject类指定@objc(<class name>)
前缀将修复executeFetchRequest:error: A fetch request must have an entity.
错误。
import Foundation
import CoreData
@objc(AccountEntity) class AccountEntity: NSManagedObject {
@NSManaged var createdAt: NSDate
@NSManaged var name: String
}