在 iOS 的 plist 中存储数据

Posted

技术标签:

【中文标题】在 iOS 的 plist 中存储数据【英文标题】:Store data in plist in iOS 【发布时间】:2009-10-05 05:16:34 【问题描述】:

我想在 plist 文件中存储一些数据。如果我更改了 plist 文件中的数据,我是否必须重新编译我的应用程序?

【问题讨论】:

【参考方案1】:

我不太确定我是否理解您的问题。以下是一些需要考虑的事情:

    如果您尚未将数据存储在 plist 文件中,并且您的应用需要将其读入,那么您的应用需要知道如何读取(并且可能写入)plist 文件以及格式里面的数据。为此,您需要重新编译您的应用程序。

    1234563签名无效。要进行有效签名,您需要使用 Xcode 或其他一些签名实用程序(我不知道)重建您的应用程序。这可能并不意味着您的应用必须重新编译,但它确实必须“重新构建”。

    如果您计划在构建应用程序后修改此 plist 文件,无论是由您的应用程序以编程方式还是其他方式,那么您的应用程序需要从您的应用程序包之外的某个位置获取此 plist 文件,以绕过签名问题。在那里,可以修改或读取它而不会使您的应用失效。

    如果您想通过应用程序分发此 plist 文件,请将其放在 Xcode 中的资源文件夹中。在您的应用程序中,检查您是否可以在 Preferences 或 Documents 文件夹中找到该文件,如果没有,则继续将文件从您的应用程序包复制到 Prefs 或 Documents 文件夹中。从那时起,然后使用该副本。

【讨论】:

【参考方案2】:

您没有,但是如果将 plist 复制到其正确位置是构建过程的一部分(即,如果它位于 Resources 文件夹或其他东西中),那么它可能是最简单的只需重新编译,以便复制修改后的版本。编译器很聪明。它不会重新编译自上次编译以来没有改变的东西,所以如果你所做的只是编辑 plist 并重新编译,它应该很快。

除此之外,欢迎您在属性列表编辑器中将其弹出并就地修改。

【讨论】:

【参考方案3】:

是的,要根据plist文件的变化来查看输出,你必须重新编译它。

【讨论】:

以上是关于在 iOS 的 plist 中存储数据的主要内容,如果未能解决你的问题,请参考以下文章

IOS 存储方式(PList、NSUserDefaults、归档、CoreData、数据库、文件)

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

iOS开发怎么获取本地数据和把数据存储到本地

iOS开发之JSON转PLIST(把存储json格式的文件转换成plist文件)

iOS边练边学--应用数据存储的常用方式(plist,Preference,NSKeyedArchiver)其中的三种

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)