我正試圖編寫一個應用程序來訪問和更改用戶日曆中的條目。這些更改由相當複雜的規則驅動,用戶可以定義。核心數據會是一個不錯的選擇嗎?
在我花費太多時間開發之前,我的問題是我是否應該使用核心數據。很多模型將由核心數據處理,但我需要訪問大量存儲的信息,然後進行更改。這是核心數據的問題嗎?
如果我對核心數據有了更好的理解,這將有所幫助,但是在這一點上我不會:(有人評論使用核心數據時可能對模型數據進行更改嗎?我討厭進入開發幾個月,發現我做出了錯誤的選擇!
我正試圖編寫一個應用程序來訪問和更改用戶日曆中的條目。這些更改由相當複雜的規則驅動,用戶可以定義。核心數據會是一個不錯的選擇嗎?
在我花費太多時間開發之前,我的問題是我是否應該使用核心數據。很多模型將由核心數據處理,但我需要訪問大量存儲的信息,然後進行更改。這是核心數據的問題嗎?
如果我對核心數據有了更好的理解,這將有所幫助,但是在這一點上我不會:(有人評論使用核心數據時可能對模型數據進行更改嗎?我討厭進入開發幾個月,發現我做出了錯誤的選擇!
最近發佈的WWDC media collection包含2005年Core Data框架作爲OS X框架的一部分發布時的音頻演示文稿。演講涵蓋了核心數據的主要目標,設計原則和架構。它還討論了一組示例應用程序(recipy應用程序)。該系列可通過iTunesU獲得。值得傾聽並掌握框架的工作原則。
我一直在使用Core Data一段時間。我發現它很容易與Xcode很好地集成在一起,穩定並且迄今爲止是我的生產力的真正貢獻者。它爲您的數據提供了各種存儲選項(二進制,XML - 在開發過程中非常容易使用 - 以及SQLite),非常體面的工具支持,適用於小型變更的簡單模型遷移,可用於主要模型變更的複雜遷移以及一些額外的工作。
您將不得不意識到核心數據不是RDBMS或RDBMS映射工具。它是一個對象圖和持久性框架,這是一個不同的東西。如果您忽略這一事實,Core Data可能會給您帶來性能上的損失。
使用CoreData進行模式更改並不比使用大多數其他數據框架困難CoreData可以處理對數據模型的許多簡單更改on its own。無法找出正確的做法you can write custom migrations
根據我的經驗,CoreData通常使數據密集型應用程序易於編寫和維護, y通常不會錯過靈活性的輕微損失。
您是否有跡象表明我可能會放棄這種靈活性?我必須說,一般來說,你的答案和@roger的答案是讓CD看起來像是一個很好的選擇。 – markjs 2012-07-23 07:06:34
非常感謝@Roger的鏈接!我會聽聽演講。我還會繼續閱讀Core Data的ADC文檔。 – markjs 2012-07-23 07:09:35