swift语言IOS8开发战记20 Core Data1

简介:      Core Data字面意思就是核心数据,但它其实并不是一个数据库,它是一个框架,就像我们之前经常用到的Foundation一样,我们做持久化的时候,使用Core Data非常方便。

     Core Data字面意思就是核心数据,但它其实并不是一个数据库,它是一个框架,就像我们之前经常用到的Foundation一样,我们做持久化的时候,使用Core Data非常方便。下面展示的是Core Data框架的结构图:


我们来新建一个项目进行添加core data的学习。

    新建一个项目,在项目中添加new file的时候可以看到专门有一个Core Data的选项




我们选择Data Model,创建,使用默认名字,现在看到工程里多出了一个Model.xcdatamodeld,点击已下按钮添加一个实体:


取名为Info,在Attributes中增加属性,看起来像一张表的属性:


Relationships是关联,实体实体间有关联的话这个选项是有用的。创建了实体,实体里面有属性,Core Data初始化的工作就算做完了。

持久化的时候一般都会选择SQLite,Core Data只在前台做封装,不关心后台用什么实现。

分析上面CoreData的结构图,要使用CoreData一般的做法是:

1.创建SQLite数据库,需要有路径和DB Name。

2.Core Data要使用的对象,经常用到的是NSMangeObject、NSMangeObjectContext 和 NSEntityDescription。NSMangeObject是数据对象,NSMangeObjectContext 是管理对象的上下文,用来缓存我们的查询操作,NSEntityDescription是实体描述,用来描述我们查找的对象。

NSMangeObjectContext依赖于NSPersistentStoreCoordinator(持久化存储协调器)和NSEntityDescription,相当于给用户进行操作的内存空间,只有当我们操作完成后调用最终的save方法,我们的操作才会被写入数据库中。

NSPersistentStoreCoordinator需要知道NSManageObjectModal和存储的类型、路径和文件名称,用来协调用户和底层数据。

NSManageObjectModal:相当于底层,类似于数据库对象的功能,以.momd文件来产生。我们上面创建Model的时候生成的.xcdatamodeld文件编译后生成.momd文件。

下一话中我们通过实例来理解上面的内容,打开AppDelegate文件,保留它的第一个方法就行。


目录
相关文章
|
26天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
81 3
|
3月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
122 2
|
3月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
38 0
|
3月前
|
存储 安全 Swift
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
35 0
|
3月前
|
Swift iOS开发
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
41 2
|
3月前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
42 2
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
89 2
|
2月前
|
监控 API Swift
用Swift开发iOS平台上的上网行为管理监控软件
在当今数字化时代,随着智能手机的普及,人们对于网络的依赖日益增加。然而,对于一些特定场景,如家庭、学校或者企业,对于iOS设备上的网络行为进行管理和监控显得尤为重要。为了满足这一需求,我们可以利用Swift语言开发一款iOS平台上的上网行为管理监控软件。
181 2
|
3月前
|
数据可视化 iOS开发
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
iOS 开发,什么是 Interface Builder(IB)?如何使用 IB 构建用户界面?
40 4
|
3月前
|
iOS开发
iOS开发解释 App 生命周期,包括各个阶段的调用顺序。
iOS开发解释 App 生命周期,包括各个阶段的调用顺序。
26 1