当我第一次打开我的应用程序时,我有一个空的plist
,我填写了一些值(writeToFile
)。我可以动态地从plist
读取并获取我刚刚添加的值。这远远不错。然后我关闭我的应用程序,然后再打开它。在这一点上,我希望我的plist
包含我上次打开应用程序时动态写入的值,但不利的是它是空的。
这是正常行为吗?我可以不将plist
用作动态保存值的“本地数据库”,并在应用程序打开时的其他时间读取它们吗?
谢谢!
答案 0 :(得分:2)
不应修改“支持文件”中的文件。
支持文件组的文件(与所有其他非代码文件一样)复制到应用程序包中。 Apple谈到应用程序包:
此目录包含应用及其所有资源。 您无法写入此目录。 [...]写入此目录会更改签名并阻止您的应用启动。但是,您可以获得对应用程序包中存储的任何资源的只读访问权限。
如果要存储用户首选项,选择等,则应在文档目录中创建plist文件。
使用此目录存储用户生成的内容。该目录的内容可以通过文件共享提供给用户;因此,他的目录应该只包含您可能希望向用户公开的文件。 该目录的内容由iTunes备份
您可以使用以下方式获取文档目录的路径:
NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).last as! String
如果您想存储偏好设置,您可能还需要查看NSUserDefaults
。