96课:Core Data 进阶:搜索、更新对象

课程笔记文集地址: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 这部分没看懂就算了,大部分的公司不会用这个数据库的,一般都是网络请求获取的数据。

你可能感兴趣的:(96课:Core Data 进阶:搜索、更新对象)