【问题标题】:Fetch some data from Core Data从 Core Data 中获取一些数据
【发布时间】:2017-06-24 07:08:49
【问题描述】:

我正在保存一些数据 - 姓名和姓氏。但我不知道如何获取一些数据。 这是我的代码,但我不知道为什么它不起作用 - 我不知道

class UserIN: NSManagedObject {

    @NSManaged var name: String?

}

我创建 NSManagedObject 子类

func fetching(){
        let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
        let usersFetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")

        do {
            let fetchedUsers = try context.fetch(usersFetch) as! [UserIN]
            print(fetchedUsers)
        } catch {
            fatalError("Failed to fetch employees: \(error)")
        }

    }

请告诉我它不显示提取数据的原因。

【问题讨论】:

  • 类名默认与实体名相同。你改了类名吗?如果是这样,您必须在数据模型中设置它以表示实体引用此类。
  • 请说明您是如何创建(保存)数据的。

标签: swift core-data swift3


【解决方案1】:

NSManagedObject 子类的类必须与实体的名称匹配(除非您在 Interface Builder 中手动更改)

class Users: NSManagedObject {

    @NSManaged var name: String?

}

与问题无关,但在 Swift 3 中使用静态类型的获取请求而不是通用的 NSFetchRequestResult

func fetching(){
    let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
    let usersFetch = NSFetchRequest<Users>(entityName: "Users")

    do {
        let fetchedUsers = try context.fetch(usersFetch)
        print(fetchedUsers)
    } catch {
        fatalError("Failed to fetch employees: \(error)")
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多