Core Data】的更多相关文章

一.简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的.   二.Core Data用法   对象介绍:   1, Managed Object Model Managed Object Model 是描述应用…
一.简介 Core Data是一个纯粹的面向对象框架,其本质就是一个ORM(对象关系映射:Object Relational Mapping),能以面向对象的方式操作SQLite数据库.在实际开发中绝大部分情况下,Core Data底层都采用SQLite数据库作为持久化存储方式.它也允许把数据保存在内存中(设备重启后数据会丢失),也允许把数据存储为其他格式(如XML).简单的讲,它就是用于操作实体以及实体之间的关联关系的持久化工具. 二.Core Data的核心概念. 1.实体 实体就是由Cor…
Core Data 使用映射模型 如果新版本的模型存在较复杂的更改,可以创建一个映射模型,通过该模型指定源模型如何映射到目标模型. 创建映射模型,新建File,  Core Data 选择Mapping Model 模板,然后点击Next 按钮. 在新的对话框中,选择源模型,然后点击Next按钮以选择目标模型, 最后,在Save As 对话框中将映射模型命名为MyMappingModel, 然后把它保存再你的项目文件中. 可以将源模型中的实体,属性和关系映射到目标模型.…
Predicate SELF Represents the object being evaluated. CORE DATA Retrieving Specific Objects If your application uses multiple contexts and you want to test whether an object has been deleted from a persistent store, you can create a fetch request wit…
Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的hibernate持久化框架,不过功能肯定是没有Hibernate强大的.简单地用下图描述下它的作用: 左边是关系模型,即数据库,数据库里面有张person表,person表里面有id.name.age三个字段,而且有2条记录: 右边是对…
•   Core Data   是 iOS SDK   里的一个很强大的框架,允许程序员 以面向对象 的方式储存和管理数据 .使用 Core Data 框架,程序员可以很轻松有效 地通过面向对象的接口管理数据   •   Core Data 框架提供了 对象 - 关系映射 (ORM) 的功能,即能够将 OC 对象转 化成数据,保存在 SQLite3 数据库文件中,也能够将保存在数据库中的 数据还原成 OC 对象   •   在数据操作过程中,无需编写任何 SQL 语句   •   要使用 Cor…
               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     (本文2个项目d…
凭良心讲,我不能告诉你不去使用Core Data.它不错,而且也在变好,并且它被很多其他Cocoa开发者所理解,当有新人加入你的组或者需要别人接手你的项目的时候,这点很重要.更重要的是,不值得花时间和精力去写自己的系统去代替它.真的,使用Core Data吧. 这个转载老外的感想想法 为什么我不使用Core Data Mike Ash写到: 就我自己而言,我不是个狂热粉丝.我发现API是笨拙的,并且框架本身对于大量的数据是极其缓慢的. 一个实际的例子:10,000条目 想象一个RSS阅读器,一个…
Core Data是一个模型层的技术.Core Data帮助你建立代表程序状态的模型层.Core Data也是一种持久化技术,它能将模型对象的状态持久化到磁盘,但它最重要的特点是:Core Data不仅是一个加载.保存数据的框架,它还能和内存中的数据很好的共事. 对象图形管理是CoreData提供的最强大的功能之一.为了更好利用Core Data,这是你需要理解的一块内容. 还有一点要注意:CoreData是完全独立于任何UI层级的框架.它是作为模型层框架被设计出来的.在OS X中,甚至在一些后…
本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.1.2 第三章数据建模 Core Data栈配置好之后,接下来的工作就是设计对象图,在Core Data框架中,对象图被表示为NSManagedObjectModel.对象图由若干个实体组成,实体被表示为NSEntityDescription.本章将围绕实体设计的相关细节展开讨论.本章也涉及到了常规的数据建模原则,因为这些原则也适用于创建实体.    托管对象NSManagedObject和实体NSEntityDesc…
本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data app的结构组成. 首先回忆一下,在你还没有使用Core Data之前,你是如何处理数据的持久化. 将对象持久化到磁盘 当你需要在程序中将数据保存到磁盘,通常你会创建一个对象容器,可能是数组.集合或字典.当在保存数据时,你会将对象编码或序列化,然后保存到二进制文件.对于数据量较小的情况,你可能也会…
<驾驭Core Data>系列教程综合了<Core Data for iOS>,<Learning Core Data for iOS>,<Core Data Programming Guide>,以及相关的博客资料.共包含14章内容.希望本系列教程能对学习Core Data的iOS开发者有所帮助. 本文由海水的味道编译整理,请勿转载,请勿用于商业用途.       当前版本号:0.0.5  第一章 Core Data概述 Mac OS X 10.4 Tig…
http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html 一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式 3.好处:能够合理管理内存,避免使用sql的麻烦,高效 4.构成: (1)NSMa…
Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂.Core Data 相关的类比较多,初学者往往不太容易弄懂.计划用三个教程来讲解这一部分: 框架详解:讲解  Core data 框架,运作过程,设计的类:Core data应用程序示例:通过生成一个使用 Core data 的应用程序来讲解如何 在  XCode 4 中使用 Core data.手动创建Core data示例:不利用框架自动生成代码,完全自己编写所有的 Core data 相关代…
在iOS开发数据库SQLite的使用介绍了iOS中使用SQLite对数据进行持久化存储,实际上是对数据库直接进行操作,而苹果专门有一套API来间接的对数据进行持久化存储,而且主要针对用户创建的对象 - Core Data. Core Data有很多强大的功能,使用图形化界面来创建对象.可以使用NSPredicate对数据进行筛选,使用NSSortDescriptor对数据进行排序.还可以通过获取属性与请求模板的设置筛选数据.也可以建立对象与对象之间的关联关系,一对一,一对多,多对多种情况.对于每…
原文:http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html iphone数据存储之-- Core Data的使用(一)   一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以后的版本中,开发者也可以通过继承NSPersistentStore类以创建自定义的存储格式 3.好处:能…
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的.简单地用下图描述下它的作用: 左边是关系模型,即数据库,数据库里面有张person表,person表里面有id.name.age三个字段,而且有2条记录: 右…
What is Core Data? If you want to build anything beyond the most simplistic apps for iOS, you’ll need a way to persist data. Luckily, Apple provides the Core Data framework, a persistence layer that efficiently handles the coordination of saving/upda…
Core Data版本迁移基础 通常,在使用Core Data的iOS App上,不同版本上的数据模型变更引发的数据迁移都是由Core Data来负责完成的.这种数据迁移模式称为Lightweight Migration(可能对于开发人员来说是lightweight),开发人员只要在添加Persistent Store时设置好对应选项,其它的就交付给Core Data来做了: 从命名上可以看出这两个选项分别代表:自动迁移Persistent Store,以及自动创建Mapping Model.…
在<Core Data Programming Guide>文档的Concurrency with Core Data这一章节中提到了“Use Thread Confinement to Support Concurrency”,这里的“Thread”还包含serial operation queue和dispatch queue. 我目前的理解是MOC会负责对PSC进行加锁解锁,这些动作需要保证有序地得到执行,如果两个thread同时访问一份context,尤其是其中一个进行写操作,另一个进…
Core Data 概述 2005年的四月份,Apple 发布了 OS X 10.4,在这个版本中 Core Data 框架发布了.Core Data本身既不是数据库也不是数据库访问框架.相反,Core Data是一个完整的数据模型解决方案.可以简单理解为对持久层的封装,使得我们可以通过可视化建立数据模型,简化数据存取.即使不懂SQL语句,也依然可以使用Core Data.因为Core Data将底层的数据库SQL语句封装成了一套API,并可通过可视化操作来建立数据库的模型和表之间的关系,它甚至…
iOS的主要框架介绍   框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件.一个共享库定义的方法或函数可以被应用程序调用. IOS提供了很多你可以在应用程序里调用的框架.要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它.许多应用程序都使用了如Foundation.UIKit.和Core Graphics这些框架.根据你为应用程序选择的模版,相关的框架就已经被自动引入了.如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架.…
大家都知道Core data本身并不是一个并发安全的架构:不过针对多线程访问带来的问题,Apple给出了很多指导:同时很多第三方的开发者也贡献了很多解决方法.不过最近碰到的一个问题很奇怪,觉得有一定的特殊性,与大家分享一下. 这个问题似乎在7.0.1以前的版本上并不存在:不过后来我升级版本到了7.0.4.app的模型很简单,主线程在前台对数据库进行读写,而后台线程不断地做扫描(只读).为此每个线程中各创建了一个NSManagedObjectContext. 这个模型其实有点奇怪,因为普遍的模型是…
http://www.cocoachina.com/ios/20150902/13304.html 在iOS和OSX应用程序中存储和查询数据,Core Data是一个很好的选择.它不仅可以减少内存使用.提高性能,而且它可以使你避免写很多不必要的样板文件代码. 此外,Core Data API非常灵活,可以用在各种应用程序中,所有应用程序有不同的数据存数需求. 然而,这种灵活性意味着有时Core Data用起来可能稍微有点困难.即便你是一个Core Data专家,仍然会需要处理一些平常的任务,也会…
原文:Avoiding Ten Big Mistakes iOS Developers Make with Core Data   http://www.cocoachina.com/applenews/devnews/2014/0219/7851.html   Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据.对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了.很多开发者常常在这方面犯一些错误,…
swift版本:3.0 Xcode版本:8.0 iOS版本:10.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能. 注:这个是一种convenience方法,即快速实现.所以并不需要新建对应于entity的class 1.新建工程 没什么好说的,勾选 Use Core Data 2.打开xcdatamodeld文件,新建一个entity,我们叫它Person,然后在右侧的A…
使用Core Data进行数据持久化存储   一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象. 2,虽然其底层也是由类似于SQL的技术来实现,但我们不需要编写任何SQL语句,有点像Java开发中的Hibernate持久化框架 3,Core Data数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型. 4,与SQ…
Core Data可能是OS X和iOS中最容易被误解的框架之一了.为了帮助大家理解,我们将快速研究Core Data,来看一下它是关于什么的.为了正确使用Core Data, 有必要理解其概念.几乎所有Core Data引起的挫败,都是因为不理解它能做什么和它是怎么工作的.让我们开始吧. Core Data是什么? 大概8年前,在2005年4月,Apple发布了OS X 10.4版本,第一次引入了Core Data框架.那时YouTube也刚发布. Core Data是模型层的技术.Core…
来源:一缕殇流化隐半边冰霜 (@halfrost ) 链接:http://www.jianshu.com/p/d79b2b1bfa72 前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那么我先简单介绍一下这个新生的数据库.号称是用来替代SQLite 和 Core Data的.Realm有以下优点: 使用方便 Realm并不是基于SQLite的对象关系映射数据库.它是使用自己的持久化引擎,为简单和速度而生.用户们说,他们在数分钟之内就上手了Realm,构建一个app只需要数小时,每个…
Core Data是ORM框架,很像.NET框架中的EntityFramework.使用的基本步骤是: 在项目属性里引入CoreData.framework (标准库) 在项目中新建DataModel (生成*.xcdatamodeld文件) 在DataModel里创建Entity 为Entity生成头文件(菜单Editor/Create NSMangedObject Subclass...) 在项目唯一的委托类(AppDelegate.h, AppDelegate.m)里添加managedOb…