2013-10-14 31 views
2

我正在嘗試尋找一個很好的教程/跳轉點以在MacOSX應用程序中使用SQLite。我對iPhone開發有所瞭解,但之前從未處理過SQLite,我的所有應用程序都是企業槓桿,我與RESTFul服務器通信以發佈和獲取數據,所有的SQL都在服務器端。在Mac App中使用SQLite

我所有的搜索嘗試返回iphone的結果和一些UI包裝OSX,我想有更少的人在那裏,代碼OSX比iphone :)

我想簡單地讓我的應用程序:

  1. 當它第一次運行時,檢查並創建一個數據庫(如果它不存在)。我更喜歡讓代碼調用一個將創建db的sql腳本,如果它不存在,或者它確實存在,它可以檢查並確保所有表,FK關係..etc都是正確的。 (我知道該怎麼做腳本,我只需要在可可OSX應用程序中調用)

  2. 基本的SQL東西。 INSERT /更新/刪除?

但在此之前,SQLite3是MAC OSX應用程序的正確方法,還是應該使用plist文件?用戶「Normal」可以混淆SQLite3的狀態嗎?有沒有我必須擔心的權限問題?我希望我的用戶只是啓動應用程序,我會在後臺爲他們做所有事情(我知道我會支持10.8+)?

回答

3

根據您的數據需求,您可能會考慮使用Core Data。對於任何情況都是不正確的,但它可能是一件好事情。它可以在後端以XML和sqlite格式存儲數據,因此您可以根據應用的數據特徵選擇正確的格式。

如果你知道你想直接使用SQLite,FMDB是一個很好的包裝。幾年前,我在一臺Mac應用程序中爲客戶使用了FMDB,並且它工作得很好。

即使FMDB不是你的風格,閱讀源代碼可能會給你一個很好的例子,說明sqlite API的工作原理。

2

如果您是iOS開發人員,那麼您知道Core Data,它可能是Mac應用程序的原始SQLite更好的選擇。

+0

我將重新考慮這個問題,看它是否支持事務流程回滾並提交 – user2708681

+2

您已撤銷Core Data中的管理。但是 - 不要把它看作是一個數據庫,它是一個對象圖。許多人在學習核心數據時都會覺得它是一個數據庫,而不是實體和關係。 – Abizern