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. C 语言sscanf

    C语言以sscanf逗号作为分割符 ]={}; ]={}; ]={}; sscanf(],&buf_b[],&buf_b[]); printf("************** ...

  2. 学习Node.js笔记(一)

    一.什么是Node.js 1.1.Node.js是什么 Node.js是用来编写高性能网络服务器的JavaScript工具包 Node.js 是一个基于Chrome JavaScript 运行时建立的 ...

  3. 跟着百度学PHP[4]OOP面对对象编程-14-克隆对象__clone()方法

    $b=clone ($a) #克隆a对象. <?php class Human { private $name; private $sex; private $age; function __c ...

  4. IntelliJ中的main函数和System.out.println()快捷键

    1.在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可 2.在方法体内部有for循环, ...

  5. PYTHON 自动化学习之路

    一.用户交互小程序 username = 'gyc' password = 'gyc' u = input("what is you name?:") p = input(&quo ...

  6. 剑指Offer 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.     思路: ...

  7. &,引用复制@,忽略错误提示

    function &chhua() { static $b="www.jb51.net";//申明一个静态变量 $b=$b."WEB开发"; echo ...

  8. BZOJ 1057: [ZJOI2007]棋盘制作

    Decsription 给你一个矩阵,求最大了 01相间 的矩阵. Sol DP+悬线法. 这是一个论文啊 <浅谈用极大化思想解决最大子矩形问题>--王知昆. 枚举每一根悬线,记录最左/右 ...

  9. Weiphp随笔,百度天气API接口

    新建插件名必须大写 http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json ...

  10. replace、replaceAll、replaceFirst的区别详解

    String s = "my.test.txt"; System.out.println(s.replace(".", "#")); Sys ...