博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios中SQLite的重构封装
阅读量:6813 次
发布时间:2019-06-26

本文共 1141 字,大约阅读时间需要 3 分钟。

  hot3.png

<b>

##IOS开发

  1. Controller中的UI层
  2. Controller中的Model层
  3. 服务层(去连接Model跟数据库的中间层)
  4. 数据库层(Sqlite,XML,JSON)
  5. 网络服务器层(包括WebService跟Web数据库,如MySQL或者Oracle)

</b>

C/S分层结构

##IOS中CoreData VS SQLite

CoreData <b>

  • CoreData说实话是一个对如SQLite这样的嵌入式数据库做面向对象的处理
  • CoreData不是一个数据库
  • CoreData只是一个操作数据库的核心框架

CoreData术语中借鉴了Sqlite

###SQLite中的外键约束

CREATE TABLE "t_person" (name text,age integer,height real,id integer PRIMARY KEY,"book_id" integer REFERENCES "t_book"(id) ON DELETE CASCADE)

这段话的解析是:

  • 创建一个t_person的表(里面有id,name,height这3个基本属性),还有一个book_id的属性是连接REFERENCESt_book这个表的(id)属性,t_book中id对应删除选项是CASCADE

  • 删除选项是CASCADE这个字段告诉我们当删除t_book中id=2的那行,那么t_person中book_id等于2那些行都要 对应删除

    • 删除选项除了CASCADE还有 SetNull,SetDefault,Restrict
    • SetNull就是当删除t_book中id=2的那行,那么t_person中book_id等于2那些行的book_id都设置为Null
    • SetDefault就是当删除t_book中id=2的那行,那么t_person中book_id等于2那些行的book_id都不变
    • Restrict限制删除,哪一行都不可以被删除

###CoreData中实体的Relationship

  • 打开CoreData项目的以xcdatamodeld结尾的文件(就是 数据模型管理文件)

  • ![在此输入图片描述][2] [2]:

    • 不过跟SQLite不一样的是,CoreData绑定的关系,设定的删除选项的以对象与对象之间
    • 而SQLite两个表(对应CoreData的Managerobject)的关系绑定是以对象的属性与属性之间

</b> <b> ##挖坑

###2014年4月24日

晚上再补上,重构的

###2014年4月25日


CoreData的并发跟与RestAPI的作用

转载于:https://my.oschina.net/nofree/blog/226236

你可能感兴趣的文章
演示使用Metasploit入侵Windows
查看>>
从我的客户谈营销公司怎样将创业企业做大的
查看>>
Linux释放内存
查看>>
Metrics-Java版的指标度量工具
查看>>
ssh中懒加载问题org.hibernate.LazyInitializationException
查看>>
整理一波数组去重方法
查看>>
zkw好写吗
查看>>
二叉搜索树的第k个结点
查看>>
HMM模型详解
查看>>
Java 文件读写示例1
查看>>
tinyhttpd源码分析
查看>>
读书笔记 effective c++ Item 26 尽量推迟变量的定义
查看>>
WebRTC服务器——Licode 环境搭建
查看>>
[转]BAT 批处理脚本 教程
查看>>
【wiki维基百科中文数据集】抽取wiki数据集——实操
查看>>
关于pthread_cond_wait()使用的理解
查看>>
openstack pike版本安装笔记6(dashboard组件,控制台)
查看>>
DBCC CHECKDB
查看>>
NIO - Buffer
查看>>
C# 类的成员
查看>>