这个 CoreData 如何在 swift 3 中获取?

Posted

技术标签:

【中文标题】这个 CoreData 如何在 swift 3 中获取?【英文标题】:How is this CoreData fetch in swift 3? 【发布时间】:2016-12-12 19:57:51 【问题描述】:

这是一个获取,它将为我带来特定实体的数据,但在 swift 2 中,我在 swift 3 中需要它..

func fetchProfile()
    let fetchRequest = NSFetchRequest(entityName: "Perfil")
    do 
        let result = try moc.executeFetchRequest(fetchRequest)

        for managedObject in result 
            if let name = managedObject.valueForKey("name")
            
                oProfile.oProfile_Name = (name as! String)
            
        
     catch 
        let fetchError = error as NSError
        print(fetchError)
    

【问题讨论】:

【参考方案1】:

在 Swift 3 中 NSFetchRequest 是一个泛型类型

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Perfil")
do 
     let result = try moc.executeFetchRequest(fetchRequest) as! [NSManagedObject] 
...

要利用泛型类型,强烈建议使用NSManagedObject 子类。

【讨论】:

moc 是当前的NSManagedObjectContext 实例。

以上是关于这个 CoreData 如何在 swift 3 中获取?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中使用 MagicalRecord CoreData 删除 tableview 中的记录

Swift、CoreData 和多对多关系:如何访问子项的顺序?

如何在 Swift 3 中将自定义类保存为 CoreData 实体的属性?

Swift 3 Core Data - 如何同步保存上下文?

Swift/IOS/CoreData:如何在自动生成的 CoreData 类中将 var 定义为枚举类型?

Swift学习笔记-《PRODUCT》读书记录-CoreData数据存储