美文网首页程序员
94课:初识 Core Data

94课:初识 Core Data

作者: sing_crystal | 来源:发表于2016-06-04 11:55 被阅读94次

课程笔记文集地址:Udemy课程:The Complete iOS 9 Developer Course - Build 18 Apps

92课是 Section 8 的总结。
93课是 Section 9 的介绍

这是 Section 7 的第一节课,慢慢的,也学了快一半多了。

从这节课开始,学习 Core Data 的一些基本知识。

一、创建使用 Core Data 的工程

在新建的工程的时候,勾选 Single View Application:


勾选 Use Core Data,(如果你在上一步使用了其他的模板,就不会出现这个选项了)如下图:

使用 Single View Application 模板,直接勾选 Use Core Data 的好处请见下图:

不仅自动创建了 Lecture94.xcdatamodeld 文件,而且在 AppDelegate.swift 文件里,会自动给你添加和 Core Data 有关的代码。如果使用其他的模板,这些都要自己手动添加。

二、设置类文件

在类的开发引入 CoreData:

import CoreData

使用前需要有的两个方法:

let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext

三、写入 Entity

如下图:


四、存储数据

// 首先找到对应的 Entity 
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context)
// 赋值(字典类型键值)
newUser.setValue("Rob", forKey: "username")
newUser.setValue("pass123", forKey: "password")

执行存储方法,使用 do catch 语法:

do {
    try context.save()
} catch {
    print("有错误!")
}

五、读取数据

这是读取数据的基本方法:

// 找到对应的 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] {
            print(result.valueForKey("username")!)
            print(result.valueForKey("password")!)
        }
    }
} catch {
    print("取数据出错了")
}

六、可能出现的报错

在 Entity 增加了一个新的 Attribute,然后运行,就会出现错误。

原因是之前你存储的数据里没有刚刚新添加的 Attribute,所以报错了。

解决方法:

到模拟器里删除当前的 App,然后 Xcode 里菜单栏里 Product -> Clean。再运行就没有问题了。

相关文章

  • 初识Core Data

    最近公司项目用到Core Data,觉得自己这方面很弱,就结合了《Core Data应用实践指南》这本书,记下一下...

  • Core Data修炼<一>

    初识Core Data “一个庞然大物,肤色黝黑,面无表情,应该不好相处。”这是Core Data给我的第一印象。...

  • Core Data 初识Demo

    1、前言 最近打算将以往不太深入研究的技术研究研究,其中之一就是Core Data。购买了一本objec.io |...

  • Core Data 初识 (一)

    前言: 在数据管理和数据库相关的方面,Apple给出的选择是Core Data。Cora Data并不是一个传统意...

  • [iOS]Core Data浅析三 -- 数据的增删改查

    Core Data系列文章:[iOS]Core Data浅析一 -- 启用Core Data[iOS]Core D...

  • [iOS]Core Data浅析一 -- 启用Core Data

    Core Data系列文章:[iOS]Core Data浅析一 -- 启用Core Data[iOS]Core D...

  • 94课:初识 Core Data

    课程笔记文集地址:Udemy课程:The Complete iOS 9 Developer Course - Bu...

  • Swift 3.0:初识Core Data

    前言 最近开发的项目遇到了数据持久化的需求,由于对原生有着特殊偏爱的癖好,首先想了解的便是Core Data,遂就...

  • Core Data并发调试

    Core Data并发调试 Core Data并发调试

  • 002 Core Data系列

    简单的demo演示Core Data是如何工作的 Core Data存储数据 Core Data读取数据

网友评论

    本文标题:94课:初识 Core Data

    本文链接:https://www.haomeiwen.com/subject/slhxdttx.html