是否可以在不替换的情况下以编程方式修改/更新 plist 文件?
Posted
技术标签:
【中文标题】是否可以在不替换的情况下以编程方式修改/更新 plist 文件?【英文标题】:Is it possible to modify/update the plist file programmatically without replacing it? 【发布时间】:2011-10-24 06:09:04 【问题描述】:在我的应用程序中 我只想更改文件的部分内容。
为此,我在字典中获取 plist 文件。
修改字典,然后重写整个 plist 文件。
是否可以直接修改plist文件或者plist文件的部分内容。
【问题讨论】:
取决于 plist 是文本格式还是二进制格式。 请详细说明一下?谢谢。 【参考方案1】:如果不重写整个文件,就无法修改 plist 文件。如果你的 plist 文件太大以至于重写整个文件需要很长时间,你应该考虑使用 SQLite 数据库,并可能采用 Core Data。
【讨论】:
【参考方案2】:如果您在谈论 Info.plist 或捆绑包中的任何资源(即:在 MyApp.app 文件夹中),答案是否定的。 捆绑包中的文件是只读的。所以你不能覆盖它们。
如果您谈论的是可能位于 Documents 或 Cached 文件夹中的其他文件,那么答案是肯定的。
【讨论】:
是的如何?你能提供我如何修改plist中特定数据的代码(在文档目录中显示)。 您必须读取文件(使用 NSArray 和/或 NSDictionary 实例方法参见:iphoneexamples.com section Plist 文件)修改您想要的内容,然后再次写入整个文件。您可以严格修改文件,但这将是一项艰巨的任务(请参阅 NSFileHandle 文档)以上是关于是否可以在不替换的情况下以编程方式修改/更新 plist 文件?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在不通过 BscScan 的情况下以编程方式提取 BSC 交易详细信息吗?
在不继承 UINavigationController 的情况下以编程方式更改 ViewController 的方向
如何在不执行 Queryable 的情况下以通用方式替换 Queryable<T> 中的列