Chapter 23 Core Data

1.  Core Data is only able to store certain data types in its store, and UIImage is not one of these types. Instead, you declared the UIImage as transformable. With a transformable attribute, Core Data will convert the object into NSData when saving, and convert the NSData back into the original object when loading it from the file system. In order for Core Data to do this, you have to supply it with an NSValueTransformer subclass that handles these conversions.

2. An NSManagedObject is little more than a data container. If you need your model objects to do something in addition to holding data, you must subclass NSManagedObject. Then, in your model file, you specify that this entity is represented by instances of your subclass, not the standard NSManagedObject.

3. The portal through which you talk to the database is the NSManagedObjectContext. The NSManagedObjectContext uses an NSPersistentStoreCoordinator. You ask the persistent store coordinator to open a SQLite database at a particular filename. The persistent store coordinator uses the model file in the form of an instance of NSManagedObjectModel. The persistent store coordinator needs to know two things:” What are all of my entities and their attributes and relationships?” and “Where am I saving and loading data from?” To answer these questions, you need to create an instance of NSManagedObjectModel to hold the entity information and initialize the persistent store coordinator with this object. Then you will create the instance of NSManagedObjectContext and specify that is use this persistent store coordinator to save and load objects.

4.  To get objects back from the NSManagedObjectContext, you must prepare and execute an NSFetchRequest. After a fetch request is executed, you will get an array of all the objects that match the parameters of that request.

时间: 2025-01-02 13:34:02

Chapter 23 Core Data的相关文章

关于Core Data的一些整理(三)

关于Core Data的一些整理(三) 关于Core Data Stack的四种类与它们的关系如下: NSManagedObjectModel NSPersistentStore NSPersistentStoreCoordinator NSManagedObjectContext 手写Core Data Stack,新建文件继承NSObject,并且在其中要依次初始化三个对象:NSManagedObjectContext.NSPersistentStoreCoordinator.NSManag

Core Data 的线程安全问题

前言: 很多小的App只需要一个ManagedContext在主线程就可以了,但是有时候对于CoreData的操作要耗时很久的,比如App开启的时候要载入大量数据,如果都放在主线程,毫无疑问会阻塞UI造成用户体验很差.通常的方式是,主线程一个ManagedContext处理UI相关 的,后台一个线程的ManagedContext负责耗时操作的,操作完成后通知主线程.使用CoreData的并行主要有两种方式: Notificaiton child/parent context 何时会使用到后台或者

Core Data 的使用

一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式 3.好处:能够合理管理内存,避免使用sql的麻烦,高效 4.构成: (1)NSManagedObjectContext(被管理的数据上下文) 操作实际内容(操作持久层) 作用:插入数据,查询数据,删除数据 (

Swift - 使用Core Data进行数据持久化存储

一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象. 2,虽然其底层也是由类似于SQL的技术来实现,但我们不需要编写任何SQL语句,有点像Java开发中的Hibernate持久化框架 3,Core Data数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型. 4,与SQLite区别:只能取出整个实体记录,然后分解,

关于Core Data的一些整理(一)

关于Core Data的一些整理(一) 在Xcode7.2中只有Mast-Debug和Single View中可以勾选Use Core Data 如果勾选了Use Core Data,Xcode会自动在AppDelegate中帮你生成Core Data的核心代码,并且自动生成.xcdatamodeld数据文件 1 //Appdelegate.h中 2 #import <UIKit/UIKit.h> 3 #import <CoreData/CoreData.h> 4 5 @inter

ios开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     一.数据库SQL

Core Data Stack学习笔记

Entity Entities 实体->数据表一个实体可以表示一个数据模型 1> 通过图形化界面可以建立一个模型关系图,可以指定一对多,多对一,多对多的数据关系 -在数据库开发中,少用多对多关系 2> 通过工具能够自动生成对应的模型文件 3> 数据保存 NSManagedObject 被管理的对象-开发中设计的实体,本身都是被管理对象的子类 使用CoreData的一个注意事项:如果开发时,修改过数据模型,最好将沙盒中的数据库文件删除! 使用CoreData开发的步骤 1. 首先创建

iOS: Core Data入门

Core Data是ORM框架,很像.NET框架中的EntityFramework.使用的基本步骤是: 在项目属性里引入CoreData.framework (标准库) 在项目中新建DataModel (生成*.xcdatamodeld文件) 在DataModel里创建Entity 为Entity生成头文件(菜单Editor/Create NSMangedObject Subclass...) 在项目唯一的委托类(AppDelegate.h, AppDelegate.m)里添加managedOb

零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能

原文:零元学Expression Blend 4 - Chapter 23 Deep Zoom Composer与Deep Zoom功能 最近有机会在工作上用到Deep Zoom这个功能,我就顺便介绍一下这个一直很夯的功能吧! 虽然有很多前辈已经写过Deep Zoom的相关介绍文章了,但我想用自己的方式再把Deep Zoom这个功能整理的更完整一点. ? 最近有机会在工作上用到Deep Zoom这个功能,我就顺便介绍一下这个一直很夯的功能吧! ? 虽然有很多前辈已经写过Deep Zoom的相关介