iOS數(shù)據(jù)管理工具:Core Data
iOS 操作系統(tǒng)提供一系列用于存儲,訪問和共享數(shù)據(jù)的完整的工具和框架。
Core Data 是一個針對 Cocoa Touch 程序的全功能的數(shù)據(jù)模型框架,而 SQLite 非常適合用于關(guān)系數(shù)據(jù)庫操作。應(yīng)用程序可以通過 URL 來在整個 iOS 范圍內(nèi)共享數(shù)據(jù)。Web 應(yīng)用程序可以利用 HTML5 數(shù)據(jù)存儲 API 在客戶端緩沖保存數(shù)據(jù)。iOS 程序甚至可訪問設(shè)備的全局數(shù)據(jù),如地址簿里的聯(lián)系人和照片庫里照片。
Core Data
Core Data 為創(chuàng)建基于模型-視圖-控制器(MVC)模式的良好架構(gòu)的 Cocoa 程序提供了一個靈活和強大的數(shù)據(jù)模型框架。Core Data 提供了一個通用的數(shù)據(jù)管理解決方案,用于處理所有應(yīng)用程序的數(shù)據(jù)模型需求,不論程序的規(guī)模大小。您可以在此基礎(chǔ)上構(gòu)建任何應(yīng)用程序。只有您想不到的,沒有什么做不到。
Core Data 讓您能夠以圖形化的方式快速定義程序的數(shù)據(jù)模型,并方便地在您的代碼中訪問該數(shù)據(jù)模型。它提供了一套基礎(chǔ)框架不僅可以處理常見的功能,如保存,恢復(fù),撤銷,重做等,還可以讓您在應(yīng)用程序中方便地添加新的功能。由于 Core Data 使用內(nèi)置的 SQLite 數(shù)據(jù)庫,因此不需要單獨安裝數(shù)據(jù)庫系統(tǒng)。
Interface Builder 是蘋果的圖形用戶界面編輯器,提供了預(yù)定義的 Core Data 控制器對象,用于消除應(yīng)用程序的用戶界面和數(shù)據(jù)模型之間的大量粘合代碼。您不必擔(dān)心 SQL 語法,不必維護邏輯樹來跟蹤用戶行為,也不必創(chuàng)建一個新的持久化機制。這一切都已經(jīng)在您將應(yīng)用程序的用戶界面連接到 Core Data 模型時自動完成了。
SQLite
iOS 包含時下流行的 SQLite 庫,它是一個輕量級但功能強大的關(guān)系數(shù)據(jù)庫引擎,能夠很容易地嵌入到應(yīng)用程序中。SQLite 被多種平臺上的無數(shù)應(yīng)用程序所使用,事實上它已經(jīng)被認為是輕量級嵌入式 SQL 數(shù)據(jù)庫編程的工業(yè)標準。與面向?qū)ο蟮?Core Data 框架不同,SQLite 使用過程化的,針對 SQL 的 API 直接操作數(shù)據(jù)表。
應(yīng)用程序間的數(shù)據(jù)共享
iOS 為設(shè)備上安裝的應(yīng)用程序之間的信息共享提供了強大的支持?;?URL 語法,您可以像訪問 Web 數(shù)據(jù)一樣將信息傳遞給其他應(yīng)用程序,如郵件,iTunes 和 YouTube。您也可以為自己的程序聲明一個唯一的URL,允許其他應(yīng)用程序與您的應(yīng)用程序進行協(xié)作和共享數(shù)據(jù)。
訪問聯(lián)系人和照片
您的應(yīng)用程序可通過安全易用的 API 訪問 iPhone 的數(shù)據(jù)和媒體。您的應(yīng)用程序可以添加新的地址簿聯(lián)系人,也可獲得現(xiàn)有的聯(lián)系信息。同樣,您的應(yīng)用程序可以加載,顯示和編輯圖片庫的照片,也可使用內(nèi)置的攝像頭拍攝新照片。
訪問日歷
iOS 應(yīng)用程序可通過 Event Kit 框架訪問用戶日歷數(shù)據(jù)庫的事件信息。例如,可以根據(jù)日期范圍或唯一標識符獲取事件信息;可在事件紀錄發(fā)生改變的時候獲得通知;可允許用戶創(chuàng)建或編輯日歷事件。通過 Event Kit 對日歷數(shù)據(jù)庫執(zhí)行的改動會自動同步到恰當?shù)娜諝v,就連 CalDAV 和交換服務(wù)器中的日歷也會自動同步。
XML 文件
XML 文件提供了一個讓您的應(yīng)用程序可以輕松地讀寫的輕量級的結(jié)構(gòu)化格式。同時 XML 文件很適合 iOS 的文件系統(tǒng)。您可以將您的程序設(shè)置和用戶偏好設(shè)置存儲到內(nèi)置的數(shù)據(jù)庫中。這種基于 XML 的數(shù)據(jù)存儲提供了一個具有強大功能的簡易 API,并具有根據(jù)要求序列化和恢復(fù)復(fù)雜的對象的能力。
HTML5 客戶端在 Safari 的存儲
iOS 中先進的 Safari 瀏覽器支持最新的 HTML5 離線數(shù)據(jù)存儲功能。脫機存儲意味著,通過使用一個簡單的鍵/值數(shù)據(jù) API 或更先進的 SQL 接口,網(wǎng)絡(luò)應(yīng)用可以將會話數(shù)據(jù)存儲于本地 iPhone 或 iPod touch 設(shè)備的高速緩存中。這些數(shù)據(jù)在 Safari 啟動過程中是不變的,這意味著應(yīng)用程序具有更快的啟動速度、更少地依賴于網(wǎng)絡(luò),并且有比以往更出色的表現(xiàn)。