成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談iPhone中 CoreData 框架

移動開發 iOS
本文介紹的是淺談iPhone中 CoreData 框架,主要介紹對CoreData 框架的一個說明,先來看內容。

iPhoneCoreData 框架是本文要介紹的內容,非嚴格的說, CoreData是對sqlite數據庫的一個封裝sqlite數據庫操作的基本流程是, 創建數據庫, 再通過定義一些字段來定義表格結構, 可以利用sql語句向表格中插入記錄, 刪除記錄, 修改記錄, 表格之間也可以建立聯系.

這個過程出現了, 表格的結構(schema), 所有表格的結構和相互聯系構成整個數據庫的模型, 數據庫存放的方式(可以是文件或者在內存), 數據庫操作, sql語句(主要是查詢), 表格里面的記錄

下面將上面說的文字, 跟CoreData的類作個對應:

表格結構    --> NSEntityDescription

數據庫中所有表格和他們的聯系 -->NSManagedObjectModel

數據庫存放方式 --> NSPersistentStoreCoordinator

數據庫操作 --> NSManagedObjectContext

查詢語句 --> NSFetchRequest

表格的記錄 --> NSManagedObject

可能上面的對應關系并非十分嚴格, 但確實可以幫助理解.

下面再看看CoreData的類

  1. NSEntityDescription  
  2. NSManagedObjectModel 

NSEntityDescription用來定義表格結構, 所以你就可以理解NSManagedObjectModel中的setEntities:(NSArray *)entities函數大概有什么用了 . 通常, 定義model, 是用文件CoreData.xcdatamodel, 可以圖形化的操作. 這類似用nib來創建界面.

建個工程, 使用coredata, 模擬器運行之后, 程序對應的document目錄出現一個CoreData.sqlite. 可以利用sqlite3命令來查看里面的表格結構
用命令行sqlite3 CoreData.sqlite 進入

  1. >.tables  
  2. ZEVENT        Z_METADATA    Z_PRIMARYKEY 

可以看到有表格ZEVENT, 對應的CoreData.xcdatamodel文件有名字叫Event的Entity

  1. >.schema ZEVENT  
  2. CREATE TABLE ZEVENT ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZTIMESTAMP TIMESTAMP ); 

對應的Event中有屬性timeStamp, 可以看到, 相應的ZEVENT表格中有字段TIMESTAMP

  1. > select * from ZEVENT  
  2. 1|1|1|306295807.974966  
  3. 2|1|1|306295810.981875  
  4. 3|1|1|306295811.982537 

這表格有三個記錄, 可以用來初始化三個NSManagedObject, 修改了NSManagedObject, save之后也修改了表格記錄

你可以在CoreData.xcdatamodel添加新的entity, 之后用sqlit3命令來查看數據庫的變化

NSPersistentStoreCoordinator

這個類的對象通常用NSManagedObjectModel的對象來初始化, 這個類抽象出不同的存放方式, 最經常用的是NSSQLiteStoreType.

NSManagedObjectContext

這個類的對象又用NSPersistentStoreCoordinator的對象來初始化, 它里面有些方法來添加, 刪除NSManagedObject

NSFetchRequest

通常用NSEntityDescription來構造查詢, 也就指定查詢那個表格, 另外可以指定排序.

CoreData的設計中, 下一層有相應的屬性指向上一層, 所以NSManagedObject有屬性得到NSEntityDescription, NSEntityDescription有屬性得到NSManagedObjectModel.

至于類

NSFetchedResultsController, 只是又封了一下, 和NSFetchRequest合起來使用, 方便取數據, 另外和NSManagedObjectContext關聯, 當數據庫發生變化的時候收到通知.

這文章只初步梳理了一下CoreData各類的關系, 各類的方法還需要一一研究. 文章最開始說CoreData是對sqlite數據庫的一個封裝, 不是嚴格的, CoreData不一定用sqlit來實現, 但他們之間確實有種對應關系.

小結:關于淺談iPhoneCoreData 框架的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 博客園
相關推薦

2011-07-18 13:56:19

2009-09-22 17:38:25

Jobs框架

2011-07-08 16:43:46

iPhone Cocoa 多線程

2009-06-29 17:17:57

Spring

2011-07-29 14:48:48

iPhone開發

2015-07-27 09:25:45

core data

2011-08-05 14:25:11

iPhone 架構 音頻

2011-04-22 09:26:57

MVC設計

2011-08-31 13:27:52

AndroidPhoneGap

2011-07-20 14:53:28

iPhone NSLocalize 國際化

2009-07-22 13:24:24

ASP.NET MVC

2012-06-25 09:28:42

.NET可逆框架

2009-06-04 07:55:08

Struts框架簡介Struts

2011-03-09 09:44:15

JavaMina框架

2017-08-04 11:41:53

Javathreadpool框架

2017-08-07 20:50:27

JavaForkJoin

2009-04-24 09:43:09

.NETASP.NET框架

2011-07-25 14:20:52

iPhone 拍照 照片庫

2015-03-12 09:51:09

CoreDataiCloud

2009-06-04 09:11:34

學習strutsstruts框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av黄色在线播放 | 欧美日韩综合 | 精品欧美一区二区精品久久 | 尤物在线 | 七七婷婷婷婷精品国产 | 亚洲国产成人av好男人在线观看 | 最新中文字幕在线 | 国产精品久久久久一区二区 | 美女一级毛片 | 免费精品久久久久久中文字幕 | 国产一区二区三区精品久久久 | av电影手机在线看 | 免费观看成人鲁鲁鲁鲁鲁视频 | 免费观看成人av | 色伊人久久 | 国产成人精品一区二三区在线观看 | 91精品国产91久久综合桃花 | 国产日韩欧美一区 | 国产三级| 精品一区二区三区在线视频 | 在线观看国产www | av首页在线| 特黄毛片视频 | 亚洲36d大奶网 | 午夜精品一区二区三区免费视频 | 精品久久久久一区二区国产 | 国产福利91精品 | 久久国产精品视频 | 亚洲高清视频在线观看 | 91精品国产综合久久福利软件 | 一区二区三区免费网站 | 亚洲一区二区免费看 | 一区二区福利视频 | 日韩综合色 | 亚洲色欲色欲www | 欧美日本在线观看 | 日韩中文字幕网 | 国产成人精品一区二区三区网站观看 | av在线免费观看网站 | 成人三级av | 日韩在线播放一区 |