当前位置: 首页 > news >正文

coredata理解

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

昨天开始认真的看 coredata 的用法,今天终于明白的其中的道理了,还有具体的流程。决定要重新写一遍,这样自己才能真正的掌握

 

1.       其实coredata就是个数据库,只是苹果把它封装起来了,开始我再看范例的时候觉得很难,看不懂,但是昨天看过具体流程和每个步骤的含义的时候,我就觉得茅厕顿开,豁然开朗了。

2.       就是用它的增删改查四个功能,对吧,不就是这个吗,没什么难的,认真的去学习,了解就好了,当然我只是很浅的运用,如果要深层次的去研究的话,我想还是非常难的,需要花更多的时间去研究。

3.       在coredata中好像是没有表的概念,我不太清楚,反正没有看到建表,只看到有一个一个的entity,然后给entity设置一个名字,查的时候就根据名字来查,查后取出的就是所有entity的一个数组,(可以排序的),如果要加入其他的entity只要重新创建一个NSEntityDescription的对象,然后【request 色图Entity:entity】就行了。

4.       首先需要得到delegate中的managedObjectContext的对象(就是来得到被储存内容的文件管理器,对数据作直接操作),然后再创建一个NSFetchRequest的对象(描述了你要在数据上执行的搜索。包括了要取得的类型信息,数据必须满足的条件以及结果应如何排序)

5.       增:得到delegate的managedObjectContext对象,然后调用NSEntityDescription的insertNewObject的方法,就会返回一个entity的实例,然后对entity进行操作给entity重新赋值,最后调用delegate的saveContext的方法就行了

6.       查:获得managedObjectContext的对象,然后调用executeFetchRequest的方法把创建的request的对像传过去就得到了指定名字的数据的数组(也可以指定查询的条件)

7.       改:在获取entity的时候直接改就行了,最后再调一次delegate的saveContext的方法就行了

8.       删:获取entity的实例,然后直接调用delegate中的deleteObject的方法吧entity传过去就删除了,最后还要saveContext。

9.       这就是最简单的增删改查 ,当然还有更复杂的,慢慢研究,我喜欢数据库。

 

转载于:https://my.oschina.net/sunqichao/blog/62446

相关文章:

  • 天轰穿结束了,结束了浮躁的生活
  • cisco路由器分时段端口限速
  • visualC/C++连接MySql数据库
  • 【转载】Oracle10g数据类型总结
  • spark-submit工具参数说明
  • JS调用PageMethods
  • String与string的区别(注意大小写)
  • javascript-按圆形排列DIV元素(二)---- 运动
  • LoadRunner之自定义HTTP请求
  • Shell脚本之sed篇
  • DFS建立之之FRSM磁盘配额与文件过滤
  • JavaScript文本框统计字数
  • 脚本编程基础知识点总结
  • LoadRunner检查点
  • 05-Windows Server 2012 新特性 ---- 集成的ISCSI网络存储
  • [PHP内核探索]PHP中的哈希表
  • [译]如何构建服务器端web组件,为何要构建?
  • CSS实用技巧
  • java第三方包学习之lombok
  • JS 面试题总结
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • PAT A1017 优先队列
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • tweak 支持第三方库
  • windows下使用nginx调试简介
  • 浮现式设计
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)22
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 如何在 Tornado 中实现 Middleware
  • 山寨一个 Promise
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 线性表及其算法(java实现)
  • Linux权限管理(week1_day5)--技术流ken
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​ubuntu下安装kvm虚拟机
  • #pragma data_seg 共享数据区(转)
  • #数学建模# 线性规划问题的Matlab求解
  • (C语言)球球大作战
  • (Git) gitignore基础使用
  • (Java数据结构)ArrayList
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (一一四)第九章编程练习
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .Net Memory Profiler的使用举例
  • .net 提取注释生成API文档 帮助文档
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /proc/stat文件详解(翻译)