iOS中CoreData數據管理系列一——初識CoreData

iOS中CoreData數據管理系列一——初識CoreData

1、何爲CoreData

    CoreData是一個專門用來管理數據的框架,其在性能與書寫方便上都有很大的優點,在數據庫管理方面,apple強烈推薦開發者使用CoreData框架,在apple的官方文檔中稱,使用CoreData框架能夠減小開發者50%——70%的代碼量,這雖然有些誇張,但因而可知,CoreData的確十分強大。sql

2、設計數據模型

    在iOS開發中,時常使用SQL數據庫對大量的表結構數據進行處理,可是SQL有一個十分明顯的缺陷,對於常規數據模型的表,其處理起來是沒問題的,例如一個班級表,其中每條數據中有班級名稱,人數這樣的屬性,一個學生表,其中每條數據有學生的姓名,性別,年齡這樣的屬性。可是若是要在表與表之間創建聯繫,自定義對象與自定義對象之間產生從屬關係,使用SQL處理起來就十分麻煩了,例如若是這個班級表中有一個班長的屬性,這個屬性是一個學生類型。關於iOS中SQL的使用相關博客,地址以下:數據庫

Sqlite數據庫相關知識:http://my.oschina.net/u/2340880/blog/600820app

iOS中sqlite3框架的使用和封裝:http://my.oschina.net/u/2340880/blog/601802框架

    CoreData的一大優點便是其能夠方便的在對象之間創建關係。工具

1.建立實體類型及其屬性

    使用Xcode建立一個工程,在工程中新建一個文件,選擇Core Data分類中的DataModel建立,以下圖:性能

這時在Xcode的文件導航區會出現一個以xcdatamodeld爲擴展名的文件,這個文件就是數據模型文件,點擊Add Entity按鈕添加一個實體類型,取名爲SchoolClass,爲這個類型添加兩個屬性,分別爲名字name和學生數量stuNum,以下圖:spa

2.對實體類型進行設置

    在Xcode右側的工具欄中能夠對實體類型進行一些設置,選中一個實體類型,以下圖:.net

Name設置實體類型的名稱,Abstract Entity設置是不是抽象實體,若是勾選,則此實體不能被實例化,只能被繼承,相似於抽象類,好比定義人爲一個實體類型,在定義繼承於人實體類型的老師、學生等來進行實例化。Parent Entity用來選擇父類實體,Class用於設置對應的類的。設計

3.在實體對象之間創建關係

    再建立一個學生類實體Student,添加name和age兩個屬性。選中SchoolClass,在其中的Relationships模塊中點擊+號,來添加一個關係,以下圖:code

這時,SchoolClass實體類型中就有了一個Student類型的班長屬性。若是切換一下編輯風格,能夠更加清晰的看到實體類型之間的關係,以下圖:

4.對屬性和關係進行設置

    選中一個屬性或者關係,在右側的工具欄中能夠對屬性進行一些設置,以下圖:

name設置屬性的名字,Optional類型表明可選,即在實例化對象時能夠賦值也能夠不賦值。Attribute設置屬性的數據類型,Default Value設置數據的默認值。

專一技術,熱愛生活,交流技術,也作朋友。

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索