CoreData

/*英译  Entity:实体 Attributes:属性 binary:二进制 persistent:持续化 coordinator:协调者 meging:合并 configuration:配置 representation:展示 picker:选择 source:来源 representation:展示 fetch:抓取* cashe:缓存 sort:排序 protocal:协议*/

PS:mARC->ARC retain->strong,建数据库要写单例,打开数据库要懒加载(init)

//懒加载

- (id)init

{

self=[super init];/

if(self){

[self openDB];

}

return self;

}

//将获取文件写进数据库

准备1 :导入CoreData框架,添加头文件 -> 建模型组 -> 模型组中建CoreData及定义实体(建好数据模型,设置实体) -> 创建服务层组(services-DataManager用于交互数据库和程序) -> 单例方法初始化对象(工厂方法即可实现单例对象),懒加载打开数据库(创建时打开数据库)->设置打开数据库方法-实例化调度者(参数:包含模型,及为之前实体化的模型,要合并)-给调度者添加持久化存储数据库(参数:制定类型,指定沙盒中建立的数据表空文件的路径,错误)

>>>>>这部分将实体化的数据(模型)成功的放进沙盒中创建的好得(数据库)中了,即数据库,数据表建立完成并放到沙盒及拥有调度者<<<<<<<

准备2 :判断错误为nil时,实例化数据库操作的上下文(类似句柄)->设置上下文的调度属性为调度者(设置类的成员属性readonly为上下文,这样可以之后调度使用)

>>>>>  这样context就可以操纵数据库了 <<<<<<

准备3:要给上下文插入一个Person类型的实体 通过UI交互->Person拿到属性值->传给Person实体->传给上下文->上下文保存

>>>>>>从而通过"NSEntityDescription"添加实体到上下文的目的/即添加记录到数据库(虽然是合并的实体但是他会保存到数据库的对应的Person数据表中 )<<<<<

实例化模型并合并->实例化model的调度者->添加数据库 ->当数据库调度成功,初始化管理项目上下文,讲调度这赋值给上下文(上下文可用成员变量保存,以便日后操纵数据库)

//从照片库选择图片 UIImagePickerController

实例化照片选择器->指定照片来源->设置代理及可以编辑->显示选择器->实现代理方法->从info中选出照片(字典)并设置->关闭选择器

UIImage imageWithData<->UIImagePNG

//谓词

/*英译:  evaluate:评估 capacity:能力 filter:过滤 contains:包含 */

谓词就是定义一个规则

创建谓词->数组调用谓词方法过滤

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K CONTAINS '8'", @"name"];

// 对数组进行过滤

NSLog(@"匹配结果 %@", [arrayM filteredArrayUsingPredicate:predicate]);

//UITableView的几个方法 commit:交付

可编辑,做删除canEdit

提交编辑commitEdit

fmdb xmpp marc 内存  c++

lbs 冒泡 block定义 nsstring 数组 内存 t

数据存储-CoreData总结的更多相关文章

  1. Cocoa Touch(二):数据存储CoreData, NSKeyArchiver, NSOutputStream, NSUserDefaults

    应用程序离不开数据的永久存储,有两种方式实现存储:数据库和文本文件. 作为存储管理器,最基本的功能就是增删改查了. CoreData 1.插入 AppDelegate *app = [[UIAppli ...

  2. IOS数据存储之CoreData使用优缺点

    前言: 学习了Sqlite数据之后认真思考了一下,对于已经习惯使用orm数据库的开发者或者对sql语句小白的开发者来说该如何做好数据库开发呢?这个上网搜了一下?看来总李多虑了!apple 提供了一种数 ...

  3. iOS开发之CoreData数据存储

    iOS开发之CoreData数据存储 参考资料:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreD ...

  4. 数据存储: sqlite,coredata plist 归档

    sql 语句  结构化查询语言 通用数据库操作语言1.创建数据库create database 1407EDB2.删除数据库drop database 1407EDB3.备份use master ex ...

  5. iOS开发 - OC - 实现本地数据存储的几种方式一

    iOS常用的存储方式介绍 在iOS App开发过程中经常需要操作一些需要持续性保留的数据,比如用户对于App的相关设置.需要在本地缓存的数据等等.本文针对OC中经常使用的一下存储方式做了个整理. 常用 ...

  6. ios开发之数据存储

    iOS应用数据存储的常用方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core Data 应用沙盒 ...

  7. iOS本地数据存储(转载)

    看到一篇不错的文章,推荐给大家!!! 应用沙盒 1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 2)应用沙盒的文 ...

  8. iphone数据存储之-- Core Data的使用(一)

    http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html 一.概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终 ...

  9. (转)iphone数据存储之-- Core Data的使用

    原文:http://www.cnblogs.com/xiaodao/archive/2012/10/08/2715477.html iphone数据存储之-- Core Data的使用(一)   一. ...

随机推荐

  1. HDU 5687 字典树插入查找删除

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5687 2016百度之星资格赛C题,直接套用字典树,顺便巩固了一下自己对字典树的理解 #include< ...

  2. word20161201

    http://baike.baidu.com/link?url=ZTTkA-suMlJNGb2AeNBE2E6MZQZwjkvWXKgmUpeLBIrCfC-k32cGJOJLrtDlLXjsTfkD ...

  3. OpenCv椭圆皮肤模型

    Mat input_image; Mat output_mask; Mat output_image; void main() { VideoCapture cam(); if (!cam.isOpe ...

  4. Android 简易XML解析

    首先创建在Android工程中创建一个Assets文件夹 app/src/main/assets 在这里添加一个名为 data.xml的文件,然后编辑这个文件,加入如下XML格式内容 <?xml ...

  5. HDU 1503 带回朔路径的最长公共子串

    http://acm.hdu.edu.cn/showproblem.php?pid=1503 这道题又WA了好几次 在裸最长公共子串基础上加了回溯功能,就是给三种状态各做一个 不同的标记.dp[n][ ...

  6. Qt5 程序启动画面图片效果

    2333每次打开photoshop开启画面是在酷炫,其实也不难啦. 新建项目名称SplashScreen,基类默认,取消创建界面复选框,完成. 代码如下,图片资源文件自己添加(已上传还未实现动态效果学 ...

  7. BZOJ 2412: 电路检修

    Description [0,x]中全是1,其余全是0,每个点有一个权值,求最坏情况下得到x的最小权值. Sol DP+单调队列. 你可以去看我的这篇Blog...开这篇纯属为了骗访问... http ...

  8. storyboard有多个Segue的传递

    在项目中需要在一个页面向多个页面传不同的值. 在view2Controller和view3Controller中分别有相应的Str2和Str3 - (void)prepareForSegue:(UIS ...

  9. Java abstract

    abstract修饰符可以修饰类和方法. (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型.抽象类就相当于一类的半成品, ...

  10. TO BE OPEN

    我们通常都在一个很狭隘的世界里. 却以为我们有了整个蓝天.