从 plist 错误 Swift 加载

Posted

技术标签:

【中文标题】从 plist 错误 Swift 加载【英文标题】:Loading from a plist error Swift 【发布时间】:2014-12-24 19:21:42 【问题描述】:

我正在从 plist 中读取数据以加载到数组中。起初,我在 plist 中只有一个数组项。加载正常。

但是,我删除了该条目并将 2 个新条目放入 plist(两者都与原始条目不同)。

现在,当我运行并从 plist 中快速“读取”时,它只显示单个旧条目。

听起来 swift 最终做错了。我试图删除派生数据,认为其中可能存储了一些过时的数据,但它不起作用。

有没有人经历过这样的事情?如果有机会请帮忙。我已经被这个卡住了很长一段时间了!

【问题讨论】:

请显示一些代码,我正在运行类似的问题。 【参考方案1】:

您的 plist 是否包含在您的捆绑包中?如果是这样,捆绑中包含的 plist 是不可变的(只读),您所做的任何事情都不会改变它。

** 注意:在过去,可能现在仍然可以修改这些 plist。此行为与实际设备不同。

如果您想编辑并保留这些更改,则必须动态创建一个新的 plist。

如果您已经在动态创建 plist,那么错误会有所不同,我将删除此答案。请通知。

【讨论】:

这应该是我创建它时发生的标准事情,但我将如何检查/执行该操作? 你是通过编程方式创建的,还是 xcode 中的 plist。 然后它包含在你的包中,这意味着它是不可变的。您将永远无法更改其内容。 嗯,这回答了我的问题。谢谢! 如果您以编程方式创建它,您可以更改它,是的。如果它包含在你的包中,不。如果你想查看它,我构建了一个库来帮助以编程方式与它们交互:github.com/LoganWright/PlistModel

以上是关于从 plist 错误 Swift 加载的主要内容,如果未能解决你的问题,请参考以下文章

swift 将数据从.plist加载到数组

使用 Swift,从 plist 加载数据时,如何区分布尔值和整数值?

在 Swift 中使用 PropertyListDecoder 时从 plist 解析浮点值时出现解码错误

SWIFT 写入 plist 未更新

使用自定义覆盖从 plist 加载多个注释

Swift 3 文件复制错误