core data是一種orm(物件關係對映)技術。orm是關係模型資料和物件模型類之間的乙個紐帶。
關係模型和物件模型是有區別的,物件模型更加先進,能描述繼承、實現、關聯、聚合和組成等複雜的關 系,而關係模型只能描述一對
一、一對多和多對多的關係。這兩種模型之間的不和協稱為阻抗不匹配問題, 而orm可以解決阻抗不匹配問題。
core data是蘋果為mac os x和ios系統應用開發提供的資料持久化技術。它基於高階資料持久化api,它的最層最終是sqlite資料庫、二進位制檔案和記憶體資料儲存,這樣開發人員不用再關心資料的儲存細問題,不用再使 用sql語句,不用面對sqlite的c語言的函式.
(1)nsmanagedobjectcontext
(被管理的資料上下文 moc)
操作實際內容(操作持久層) 作用:插⼊資料,查詢資料,刪除資料
(2)nsmanagedobjectmodel
(被管理的資料模型 mom)
資料庫所有**或資料結構,包含各實體的定義資訊 作用:新增實體的屬性,建立屬性之間的關係 操作方法:檢視編輯器,或** .
這個模型包含實體(entity),特性(property),讀取請求(fetch request)等
(3)nspersistentstorecoordinator
(持久化儲存助理)
相當於資料庫的聯結器 作用:設定資料儲存的名字,位置,儲存⽅方式,和儲存時機
處理底層的對資料檔案的讀取與寫入。一般我們無需與它打交道。
(4)nsmanagedobject
(被管理的資料記錄)
相當於資料庫中的**記錄,
與 managed object context 相關聯
(5)nsfetchrequest
(獲取資料的請求)
相當於查詢語句
(6)nsentitydescription
(實體結構)
相當於**結構
(7)字尾為
.xcdatamodeld
的包 ⾥⾯是
.xcdatamodel
檔案,⽤用資料模型編輯器編輯 編譯後為
.momd
或.mom
檔案nssqlitestoretype
。指資料持久化型別是sqlite資料。
nsbinarystoretype
。指資料持久化型別是二進位制檔案。
nsinmemorystoretype
。指資料持久化型別是記憶體形式
二, model class
模型有點像資料庫的表結構,裡面包含 entry, 實體又包含三種 property:attribute(屬性),relationship(關係), fetched property(讀取屬性)。model class 的名字多以 "description" 結尾。我們可以看出:模型就是描述資料型別以及其關係的。
主要的 model class 有:
model classes
managed object model
nsmanagedobjectmodel
資料模型
entity
nsentitydescription
抽象資料型別,相當於資料庫中的表
property
nspropertydescription
entity 特性,相當於資料庫表中的一列
> attribute
nsattributedescription
基本數值型屬性(如int16, bool, date等型別的屬性)
> relationship
nsrelationshipdescription
屬性之間的關係
> fetched property
nsfetchedpropertydescription
查詢屬性(相當於資料庫中的查詢語句)
1)entity - nsentitydescription
entity 相當於資料庫中的乙個表,它描述一種抽象資料型別,其對應的類為 nsmanagedobject 或其子類。
nsentitydescription 常用方法:
+insertnewobjectforentityforname:inmanagedobjectcontext: 工廠方法,根據給定的 entity 描述,生成相應的 nsmanagedobject 物件,並插入 managedobjectcontext 中。
-managedobjectclassname 返回對映到 entity 的 nsmanagedobject 類名
-attributesbyname 以名字為 key, 返回 entity 中對應的 attributes
-relationshipsbyname 以名字為 key, 返回 entity 中對應的 relationships
2)property - nspropertydescription
property 為 entity 的特性,它相當於資料庫表中的一列,或者 xml 檔案中的 value-key 對中的 key。它可以描述實體資料(attribute),entity之間的關係(relationship),或查詢屬性(fetched property)。
> attribute - nsattributedescription
attribute 儲存基本資料,如 nsstring, nsnumber or nsdate 等。它可以有預設值,也可以使用正規表示式或其他條件對其值進行限定。乙個屬性可以是 optional 的。
> relationship - nsrelationshipdescription
relationship 描述 entity,property 之間的關係,可以是一對一,也可以是一對多的關係。
> fetched property - nsfetchedpropertydescription
fetched property 根據查詢謂詞返回指定 entity 的符合條件的資料物件。
一 基本概念
資料 程式的操作物件,用於描述客觀事物 資料元素 組成資料的基本單位 資料項 乙個資料元素由若干個資料項組成 資料物件 性質相同的資料元素的集合 陣列,鍊錶 struct person 一種資料型別 int main void 資料項 p1.age 0 資料項 線性結構 元素之間的關係為一對一 圖形...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
一 WCF 基本概念
微軟提供了四種方案來實現分布式的通訊互動技術 web service 和wse net remoting net 企業服務 msmq wcf 體系架構圖 契約 乙個服務契約公開介面的一部分。定義了服務端公開的方法,傳輸協議,可訪問的位址,分為四種 服務契約 資料契約 錯誤契約 訊息契約 服務執行 服...