CoreData在Swift 3.0中的一点改变
来源:互联网 发布:java 发送短信接口 编辑:程序博客网 时间:2024/06/08 03:59
在Swift 2.0中我们需要从core data中query结果的时候使用的是如下方式:
func findAnimals() { let request = NSFetchRequest(entityName:”Animal") do { guard let searchResults = try context.executeFetchRequest(request) as? [Animal] else { print("Results were not of the expected structure") } ... use(searchResults) ... } catch { print("Error ocurred during execution: \(error)") }}
注意,以上代码试图将executeFetchRequest返回的结果转换为实际数据类型的数组。同时我们看到,在建立request的时候直接使用的是NSFetchRequest的纯构造器方式。
但是在Swift 3.0中首先我们在创建request的时候必须用范型来指定实际数据类型,你可以用如下任何一句来完成:
let fetch0 = NSFetchRequest<Commit>(entityName: "Commit")let fetch1:NSFetchRequest<Commit> = Commit.fetchRequest()
接下来在处理fetch结果的时候我们不可以将NSFetchRequestResult直接转换为[Commit],因为这样非相关性的转换总是失败!作为代替我们使用context的另一个方法来完成:
do{ let commits = try managedObjectContext.fetch(fetch) print("***** \(commits.count) commits *****") objects = commits tableView.reloadData() }catch let error{ print("Fetch failed : \(error.localizedDescription)") }
that‘s all,good luck! ;)
0 0
- CoreData在Swift 3.0中的一点改变
- CoreData NSPredicate在CoreData中的使用
- Swift CoreData
- CoreData用法三: NSPredicate在CoreData中的使用
- NSFetchedResultsController 在CoreData中的使用 配合UITableView
- CoreData在Xcode 8 中的使用
- iOS:CoreData 一点通
- 13.Swift CoreData
- coredata swift 简单入门
- iOS CoreData(Swift版本)
- swift中使用coredata
- swift - CoreData
- swift 之CoreData使用
- Swift使用CoreData
- Swift 3.0 使用CoreData兼容iOS9和iOS10的CoreData实例
- Swift CoreData增删改查
- FMDB和CoreData在多线程中的应用和区别
- CoreData在项目中的简单实用(1)
- Codeforce数据结构目录
- linux下解决文件乱码问题及查看文件编码方法
- python爬虫之爬百度美女图片
- newton插值法c++版
- InetAddress类
- CoreData在Swift 3.0中的一点改变
- NULL,0和'\0'辨析
- 算法-归并排序
- POJ 3650 The Seven Percent Solution G++
- VirtualBox中ubuntu的网络设置
- 五布局之相对布局RelativeLayout
- Python装饰器的用法
- git 分支合并
- 抽取ButterKnife到BaseActivity