一个完整的Core Data应用】的更多相关文章

在这篇文章中,我们将建立一个小型但却全面支持Core Data的应用.应用允许你创建嵌套的列表:每个列表的item都可以有子列表,这将允许你创建非常深层次的item.为了让大家完整的了解发生了什么,我们将通过使用手动创建堆栈的方式来代替Xcode中Core Data的模板.这个应用的代码放到了GitHub上. 我们将怎么建立? 首先,我们创建一个PersistentStack对象,为其提供一个Core Data模型和一个文件名,PersistentStack会返回一个managed object…
Core Data 概述 2005年的四月份,Apple 发布了 OS X 10.4,在这个版本中 Core Data 框架发布了.Core Data本身既不是数据库也不是数据库访问框架.相反,Core Data是一个完整的数据模型解决方案.可以简单理解为对持久层的封装,使得我们可以通过可视化建立数据模型,简化数据存取.即使不懂SQL语句,也依然可以使用Core Data.因为Core Data将底层的数据库SQL语句封装成了一套API,并可通过可视化操作来建立数据库的模型和表之间的关系,它甚至…
http://www.cocoachina.com/ios/20150902/13304.html 在iOS和OSX应用程序中存储和查询数据,Core Data是一个很好的选择.它不仅可以减少内存使用.提高性能,而且它可以使你避免写很多不必要的样板文件代码. 此外,Core Data API非常灵活,可以用在各种应用程序中,所有应用程序有不同的数据存数需求. 然而,这种灵活性意味着有时Core Data用起来可能稍微有点困难.即便你是一个Core Data专家,仍然会需要处理一些平常的任务,也会…
本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.1.2 第三章数据建模 Core Data栈配置好之后,接下来的工作就是设计对象图,在Core Data框架中,对象图被表示为NSManagedObjectModel.对象图由若干个实体组成,实体被表示为NSEntityDescription.本章将围绕实体设计的相关细节展开讨论.本章也涉及到了常规的数据建模原则,因为这些原则也适用于创建实体.    托管对象NSManagedObject和实体NSEntityDesc…
本文由海水的味道编译整理,请勿转载,请勿用于商业用途.    当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data app的结构组成. 首先回忆一下,在你还没有使用Core Data之前,你是如何处理数据的持久化. 将对象持久化到磁盘 当你需要在程序中将数据保存到磁盘,通常你会创建一个对象容器,可能是数组.集合或字典.当在保存数据时,你会将对象编码或序列化,然后保存到二进制文件.对于数据量较小的情况,你可能也会…
               在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [图1 GUI界面效果图] [本次开发环境: Xcode:7.2     iOS Simulator:iphone6S plus   By:啊左]     (本文2个项目d…
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只需要数小时,每个…
在上文,我们介绍了iOS开发中的其中2种数据持久化方式:属性列表.归档解档. 本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运用: 在本节,将通过对4个文本框内容的创建.修改,退出后台,再重新回到后台,来认识这两种持久化数据的方式.效果图如下[图1]: [本次开发环境: Xcode:7.2 iOS Simulator:iphone6 By:啊左] (本节2个项目demo的下载:数据库SQLite3的运用Demo.Core Data 的运用Demo)…
前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那么我先简单介绍一下这个新生的数据库.号称是用来替代SQLite 和 Core Data的.Realm有以下优点: 使用方便 Realm并不是基于SQLite的对象关系映射数据库.它是使用自己的持久化引擎,为简单和速度而生.用户们说,他们在数分钟之内就上手了Realm,构建一个app只需要数小时,每个app开发时间至少节约数周的时间. 快 Realm比其他的对象关系映射型数据库(Object Relational Mapping),甚…
本文转载至 http://imenjoe.com/2015/04/10/CoreData-transformable-20150410/ 在开发过程中有一个需要在 Core Data 中存取 NSDictionary 的需求,但是在 Core Data 的 attributeType 中并没有直接支持 NSDictionary 的类型,基本上就是一些 scalar 类型和 date.binary data.undefined 和 transformable 类型. 最初的想法是把 NSDicti…
这是接着上一次<iOS教程:Core Data数据持久性存储基础教程>的后续教程,程序也会使用上一次制作完成的. 再上一个教程中,我们只做了一个数据模型,之后我们使用这个数据模型中的数据创建了一个表视图,我们还学习了如何测试数据模型的可行性,今天,我们来看看如何在应用启动的时候,将已经存在的数据载入或者引用到我们的程序中去. 请注意我们在上一次的教程中学习到的是直接通过操作SQLite数据库来加载数据,你当然可以一直使用这种方法,但是这个教程教授的方法更加优雅,更加合理. 在下一部分的教程中,…
昨晚熬夜看发布会(本以为屌丝终于能买得起苹果了,谁知道...),因为看不了视频直播,所以就正好有空就把www.objc.io最新的一篇文章翻译了一下,同时感谢CocoaChina翻译组提供校对,以下为正文: Core Data可能是OS X和iOS里面最容易被误解的框架之一了,为了帮助大家理解,我们将快速的研究Core Data,让大家对它有一个初步的了解,对于想要正确使用Core Data的同学来说,理解它的概念是非常必要的.几乎所有对Core Data感到失望的原因都是因为对它工作机制的错误…
留给我这忘事精看 Core Data 是什么? 大概八年前,2005年的四月份,Apple 公布了 OS X 10.4,正是在这个版本号中 Core Data 框架公布了.那个时候 YouTube 也刚公布. Core Data 是一个模型层的技术.Core Data 帮助你建立代表程序状态的模型层.Core Data 也是一种持久化技术,它能将模型对象的状态持久化到磁盘,但它最重要的特点是: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…
大家都知道Core data本身并不是一个并发安全的架构:不过针对多线程访问带来的问题,Apple给出了很多指导:同时很多第三方的开发者也贡献了很多解决方法.不过最近碰到的一个问题很奇怪,觉得有一定的特殊性,与大家分享一下. 这个问题似乎在7.0.1以前的版本上并不存在:不过后来我升级版本到了7.0.4.app的模型很简单,主线程在前台对数据库进行读写,而后台线程不断地做扫描(只读).为此每个线程中各创建了一个NSManagedObjectContext. 这个模型其实有点奇怪,因为普遍的模型是…
原文: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.就当一次绝好的机会记录下来.也为了自己加深认识. 为什么要用Core Data CoreData的学习是需要一定成本的.以至于我认识的人很少在用,大家要不就是用一个FMDB.或者做的App是一个已有的Web的延伸,数据直接用Web端的Api取回来就好了. 我们要用Core Data的理由有以下几点: Core Data是对底层存储的一次封装.封装了以后就变成ORM的…
最近准备做一个随手笔记类的app给自己用,考虑到从未使用过Core Data,就决定用Core Data来做数据存储.在网上参考了一些Core Data的资料后,用一天的时间写了这个demo,主要测试了增删改查,以及排序和分页这些基本功能. demo的代码可以在GitHub上下载: https://github.com/ShayneYeorg/Core-Data-Sample 1.大致上,Core Data即是将数据库内容封装成了类和对象: (1).一个数据库实例对应一个NSManagedObj…
原文出处: informit   译文出处:cocoachina Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据.对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了.很多开发者常常在这方面犯一些错误,而这篇文章列出了开发者在iOS开发过程中使用Core Data常见的一些错误,并对如何避免这些错误进行了分析.  1.不了解关键术语 对于iOS开发者来说,会使用Core Data是一项必备技能.…
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/ArticleSpider 未来是什么时代?是数据时代!数据分析服务.互联网金融,数据建模.自然语言处理.医疗病例分析……越来越多的工作会基于数据来做,而爬虫正是快速获取数据最重要的方式,相比其它语言,Python爬虫更简单.高效 一.基础知识学习: 1. 爬取策略的深度优先和广度优先 目录: 网站的树结构…
参考文章:http://blog.slalom.com/2010/01/08/splitting-an-entity-in-a-coredata-migration/ 最近自己做的背单词软件,在之前的设计上有一个非常大的缺陷就是把单词读音的语音文件放在数据库里面了,而且作为word表里面的一个字段储存.一开始测试的时候没有什么大问题,但是单词越来越多之后查询就变得非常之慢.后面自己加上的一些功能都要频繁地对比数据库,所以做了一个优化就是在core data fetch request里面指定要获…
在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所以我们直接采用最原始的记事本来编写这个MVC应用.[源代码从这里下载] 目录步骤一.安装最新的.NET Core SDK步骤二.定义源代码和配置        定义NuGet.xml        定义Project.json        定义入口程序        定义初始化类型       …
一.简介 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…