2010-07-01 45 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会将其备份。