Core Data 《一》基本概念

2021-06-27 16:22:40 字數 3019 閱讀 8037

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 體系架構圖 契約 乙個服務契約公開介面的一部分。定義了服務端公開的方法,傳輸協議,可訪問的位址,分為四種 服務契約 資料契約 錯誤契約 訊息契約 服務執行 服...