2010-07-01 42 views
0

我已經嘗試了所描述的各種技術來序列化我需要的plist以保存用戶的最愛。序列化plist

有些人還表示,最好將這些數據保存到「用戶默認值」文件中。

哪個更好的技術,他們是如何序列化。我有這個代碼

[plistArray writeToFile:filepath atomically: YES]; 

它將對象添加到數組,但似乎不能保存plist編輯。

Regards

回答

1

如果您想保存偏好設置,那麼適當的方法是使用NSUserDefaults機制,因爲它可以爲您節省大量時間和麻煩。

但是,如果您使用PLIST作爲保存存儲在NSDictionary中的數據的手段,那麼我認爲使用writeToFile方法會比較合適。

+0

謝謝,我正在嘗試writeToFile方法,它不會保留數據。它在應用程序重新啓動時在模擬器中,但在模擬器重新啓動時消失了嗎? – jarryd 2010-07-01 12:47:47

+0

我對iPhone SDK並不太熟悉,但我粗略地猜想,當您構建並部署到模擬器時,它會覆蓋您的新構建應用程序所在的包。 要查看您的持久性機制是否正常工作,您應該部署您的應用程序,運行它(從而運行您的持久性代碼)並單擊模擬器底部的主頁按鈕。當你再次打開應用程序時,你的持久數據應該在那裏 – djhworld 2010-07-01 12:52:46

+0

「部署你的應用程序,運行它」 - 這是否意味着構建和去?但是,是的,如果我運行我的應用程序並點擊主頁按鈕,那麼在重新打開應用程序時,數據仍然存在。 :) – jarryd 2010-07-01 12:56:37

1

如果您想保存任何類型的首選項,只需將它們存儲在用戶默認字典中。這是唯一正確的方法 - 此外,如果用戶同步其電話,iTunes會將其備份。