天天看點

《Core Data應用開發實踐指南》一1.2 Core Data的适用場合

本節書摘來自華章出版社《core data應用開發實踐指南》一書中的第1章,第1.2節,作者 (美)tim roadley,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

如果應用程式要儲存的設定資料太多,以緻nsuserdefaults及“特性清單”(property list)這種簡單的存儲方案無法應付,那麼就會出現記憶體占用量方面的問題。解決辦法是直接使用資料庫或通過core data來間接操作資料庫。選用core data的好處是,不用再花時間編寫資料庫接口的代碼了。此外,你還将享受性能方面的優勢,而且可以使用諸如撤銷及驗證等強大的功能。假如選擇直接使用資料庫,那就要花時間去做開發與測試工作,也就是通常所說的“重新發明輪子”(reinventing the wheel),而使用core data則無須操心這些事情,開發者可以把精力放在應用程式中更為重要的事情上面。

你可能在想:我隻是要把一些資料儲存到磁盤中而已,用得着這麼麻煩嗎?其實隻要了解了core data的幾個要點,你就會發現這一點都不麻煩。筆者相信你自己确實能夠寫出一套資料庫接口,而且這套接口在短時間内的效果也許還很好。但是,當需求有了變化,或有了新需求時,比方說,現在要支援多個裝置之間的資料同步功能,該怎麼辦呢?在不影響使用者界面的前提下,你有沒有把握寫出多線程環境裡的資料導入例程呢?你能不能寫出既支援撤銷與驗證功能,又能在老式iphone上面高速運作,而且記憶體占用量還很小的程式呢?

對于上面這些工作,其實core data架構早就做好了,而且已經測試過了。即便你的應用程式所要處理的資料量特别少,也依然值得使用core data,因為這樣可以令應用程式能夠适應将來的需求變化,同時又不會影響到性能。

一旦用上core data,你就會見識到它的健壯與流暢程度。每天都有很多人在使用內建了core data的應用程式,而這也使得core data的各項功能日趨成熟,同時其性能也令人滿意。簡言之:要是武斷地抛棄core data不用,那就要自己編寫資料庫接口;反之,若學會了core data,則能節省大量開發時間,而且還能自動享受到由core data所提供的許多附加功能。