【问题标题】:MagicalRecord how to setup for new Swift Project using CocoaPods Use :branch => 'develop' i.e. 2.3.0-beta.5MagicalRecord 如何使用 CocoaPods 设置新的 Swift 项目使用:branch => 'develop' 即 2.3.0-beta.5
【发布时间】:2015-01-20 13:27:36
【问题描述】:

我已经建立了一个新项目来研究具有 MagicalRecord 兼容性的 Core Data。我在 CocoaPod 中指定了“开发”分支,但我在使用 MyProjectName.MyManagedObject.MR_fetchAllSortedBy 和 MyManagedObject.MR_fetchAllSortedBy 时都遇到了 fetchRequests 问题。我已将 MyManagedObject 创建为 Swift 文件,并且在其他链接器标志中设置了 -ObjC 标志。看到的错误是:“NSInvalidArgumentException”,原因:“获取请求必须有一个实体。” CoreData 堆栈设置成功。在获取请求时发生在 MagicalRecord 中的失败。

【问题讨论】:

    标签: core-data magicalrecord


    【解决方案1】:

    为您的 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
    
    }
    

    【讨论】:

    • 这绝对应该是一个公认的答案。我仍然不清楚为什么我们需要在 "@objc"、"@objc(AccountEntity)" 之后添加类名而不是 "@objc" 但它有效!
    猜你喜欢
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-11-27
    • 2013-12-12
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多