96课:Core Data 进阶:搜索、更新对象
2016-06-04 本文已影响36人
sing_crystal
课程笔记文集地址:Udemy课程:The Complete iOS 9 Developer Course - Build 18 Apps
一、查找某个属性的数据
其实只需要改变一行代码即可:
if let username = result.valueForKey("username") as? String
放到遍历数据里:
// 找到对应的 Entity
let request = NSFetchRequest(entityName: "Users")
// 如果想直接获取实际的数据值,需要设置为 false
request.returnsObjectsAsFaults = false
// 开始取出数据,使用 do catch 语法
do {
let results = try context.executeFetchRequest(request)
//判断是否存在数据
if results.count > 0 {
// 遍历数据
for result in results as! [NSManagedObject] {
// 这里就是关键行
if let username = result.valueForKey("username") as? String {
print(username)
}
}
}
} catch {
print("取数据出错了")
}
二、查找某个数据是否存在
比如用户在注册的时候,确认一下这个用户名有没有人用过了。这种需求非常常见。
要改变查询的类型:
request.predicate = NSPredicate(format: "username = %@", "Ralphie")
三、更新数据
对既有的数据进行编辑,和保存相似,只不过代码的位置不一样,更新数据是需要先找到已有的数据之后,才能进行数据的更新。
四、数据的删除
context.deleteObject(result)
Core Data 这部分没看懂就算了,大部分的公司不会用这个数据库的,一般都是网络请求获取的数据。