加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift3.0 CoreData Fetch语法的一些改变

发布时间:2020-12-14 06:31:59 所属栏目:百科 来源:网络整理
导读:在Swift 3.0之前,我们可以这样fetch数据: var people = [NSManageObject]() //1 let fetchRequest = NSFetchRequest(entityName: "Person" ) do { //2 let results = try managedContext.executeFetchRequest(fetchRequest) //3 people = results as ! [NSMa

在Swift 3.0之前,我们可以这样fetch数据:

var people = [NSManageObject]()

//1
let fetchRequest = NSFetchRequest(entityName: "Person")

do {
//2
let results =
try managedContext.executeFetchRequest(fetchRequest)
//3 
people = results as! [NSManagedObject]
} catch let error as NSError {
print("Could not fetch (error),(error.userInfo)")
}
 }

不过在Swift 3.0以后,要做一些调整,首先第1句修改为:

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")

在这里你必须明确指定一种泛型,在第2句修改如下:

let results = try managedContext.fetch(fetchRequest)

最后第3句不需要做改变.

其实第1句也可以这么写:

let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Person")

这样第3句就可以将类型转换删掉了:

people = results

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读