swift 3 中的 CoreData 是如何获取的?

How is this CoreData fetch in swift 3?

这是一个获取,它将给我带来特定实体的数据,但是在 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)
    }
}

在Swift3中NSFetchRequest是泛型

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

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