2011-03-03 140 views
0

我正在開發一個iOS應用程序,這是我的畢業項目..應用程序應該作爲一個社交網絡,用戶可以連接到其他用戶。從數據角度來看,應用程序需要在本地存儲一些數據,並且它還能夠使用遠程服務器更新這些數據,即本地數據是位於服務器上的數據子集的快照。在iPhone上本地存儲數據

假設用戶最多可以連接100個其他用戶,並且他/她也能夠看到他們的信息,並且這些信息是:關於每個連接用戶的文本和小圖像。

我不知道什麼是存儲這些數據的最有效的方法,我已經看了:

  • 的Plist
  • NSUserDefault
  • SQLite3的
  • 歸檔
  • 核心數據。

但無法確定哪種方法適合我的應用程序。

在此先感謝。

回答

1

我將與CoreData & SQLite ...但我們並沒有你的應用程序的所有細節,因此,我可能是錯的。

+0

假設要存儲的信息是:暱稱,ID,電話號碼和每個用戶的小圖片。在最糟糕的情況下,一個用戶連接到100個用戶,因此存儲了上述信息中的100個。 – ObjProg

+0

不要將圖像存儲在數據庫中,稍後您會感謝我。我會避免直接使用SQIte,並使用CoreData。主要是因爲有一天我希望蘋果能夠啓用XML持久性存儲,這意味着您可以發送它而不是自己管理序列化。 – Jonathan

+0

然後使用CoreData&NSSQLiteStoreType作爲持久存儲類型。 – robertvojta

0

你想要SQLite或核心數據。在你的特定情況下,使用SQLite。靈活使用,您可以在其他平臺上使用SQL知識和SQL數據。在本地和服務器端使用SQL應該使你的開發最有效。

0

核心數據和歸檔。我不確定你是否讓一個NSManagedObject符合NSCoding,但是如果你可以在客戶端使用核心數據,然後轉換爲plists(或你自己的自定義格式)以通過網絡傳輸。

無論哪種方式,目標是有一個父級模型類,可以序列化它的所有屬性。

我知道與本地和遠程核心數據存儲同步回覆資料的Zsync框架,但我不相信它適用於iPhone

0

我認爲,一個簡單而有效的方法是使用sqlite3的和它對開發人員非常熟悉(正如他用SQL語言開發的那樣)。