2009-04-28 14 views
2

我見過幾種方法,每種方法都有顯着的優點和缺點。我正在學習iPhone開發,我正在構建一個相對簡單的應用程序,它的核心部分實際上不僅僅是針對3個或4個相關實體的CRUD操作。iPhone上有數據庫管理/對象持久化的首選方法嗎?

我習慣於ActiveRecord類型的對象持久化。我在網上閱讀的Cocoa Touch的實現通常被稱爲非常緩慢。

我在網上看到的大多數例子(特別是Pragmatic Programmers screencasts)都將SQL硬編碼到控制器類中,這看起來對我來說並不恰當。看起來很古老的學校(但在這種情況下,也許老派最好)。

我知道我們不能在這裏討論SDK 3.0,但是CoreData即將面向iPhone的常識是,這當然會限制我的觀衆(我不確定我是否真的在意這一點。是一個應用程序出售,但我不打算取代我的職業生涯)

我還沒有嘗試Gus Mueller的FMDB,但我已閱讀好東西。

什麼是你的經驗,什麼有效,什麼沒有。你會在哪裏推薦一個(仍然非常新手)的iPhone程序員投入他們的時間?

回答

2

現在在應用程序中有很多半原始的SQL編碼,因爲沒有用於高級工作的內置系統。 FMDB是一個很好的方法,但它只是將SQLite調用包裝到更多Objective-C中。這對某些情況很好,但顯然不適合所有的情況。

如果您熟悉ActiveRecord,那麼SQLite Persistent Objects可能對您有用,因爲它旨在與ActiveRecord類似。我還沒有用過,所以我不能告訴你它實際上有多相似。如果由於某種原因,這看起來不正確,那麼最好在這一點上瞄準3.0並利用核心數據。

+0

恐怕我得出的結論正是你所說的。 SQLlite持久對象是一個非常緩慢的對象。 我相信這將是「短期被詛咒的」並且是CoreData的目標,因爲這將是今年夏天的公認方式。 我在添加核心數據到我現有的應用程序時遇到了麻煩,但我只是換了另一種方式,並在幾分鐘內使用核心數據將我的整個應用程序移植到「基於窗口的應用程序」模板中。所以......它什麼也沒做,但至少它沒有崩潰,就像昨晚一樣。 – mmc 2009-04-28 17:54:20

相關問題