plist有啥用?
Posted
技术标签:
【中文标题】plist有啥用?【英文标题】:What is the use of plist?plist有什么用? 【发布时间】:2009-11-18 15:06:27 【问题描述】:在我的应用程序中,我使用的是plist
。请问有没有人可以通过示例或示例代码解释plist
的用途是什么?
【问题讨论】:
我遇到了需要将数据添加到 plist 中的情况。但我不确定 plist 有什么用。所以这就是我发布问题的原因。如果你知道答案,请帮助我 如果您想了解如何从 plist 存储和检索数据的示例代码,请点击我的回答中的链接:developer.apple.com/iphone/library/documentation/iPhone/… 为了给用户提供更好的体验,ios 和 OS X 依赖于每个应用程序或捆绑包中存在的特殊元信息。此元信息以许多不同的方式使用。其中一些显示给用户,一些在系统内部用于识别您的应用程序及其支持的文档类型,还有一些被系统框架用于促进应用程序的启动。应用程序向系统提供元信息的方式是通过使用称为信息属性列表文件的特殊文件。 【参考方案1】:在 iPhone 开发环境中,Property Lists 是一个键值存储,您的应用程序可以使用它来保存和检索持久数据。
默认情况下,所有 iPhone 应用程序都至少有一个,Information Property List:
信息属性列表是一个 包含的名为 Info.plist 的文件 与每个 iPhone 应用程序项目 由 Xcode 创建。这是一个属性 列出其键值对指定 基本运行时配置 申请信息。这 信息属性的元素 列表按层次结构组织在 其中每个节点都是一个实体,例如 数组、字典、字符串或其他 标量类型。
【讨论】:
针对 iPhone 特定 info.plist +1 的完整答案 不一定是键值对存储。也可以只是一个价值存储或它们的混合。 为了给用户提供更好的体验,iOS 和 OS X 依赖于每个应用程序或捆绑包中存在的特殊元信息。此元信息以许多不同的方式使用。其中一些显示给用户,一些在系统内部用于识别您的应用程序及其支持的文档类型,还有一些被系统框架用于促进应用程序的启动。应用程序向系统提供元信息的方式是通过使用称为信息属性列表文件的特殊文件。【参考方案2】:Plist 是XML files in a specific format。在 XML 之前,他们有一种现在称为“旧 plist”的自定义格式。 (您几乎再也不会在遗留代码中看到这种情况了。)
当您使用它们的序列化方法将它们写入磁盘时,Foundations 集合类会自动生成 plist 格式的 XML 文件。他们还会自动读回它们。您还可以为自己的自定义对象编写自己的序列化程序。这允许您以健壮的、人类可读的格式持久存储复杂的对象。
对于程序员来说,plist 的一个用途是使用 plist 编辑器输入和管理大量数据比尝试编写代码更容易。例如,如果您有一个需要设置大量 ivars 的类,您可以创建一个 plist,将其读入 NSArray 或 NSDictionary,然后通过传递字典来初始化实例。
当我必须使用大量路径来绘制复杂对象时,我会使用这种技术。您在 plist 文件而不是代码中定义路径,并在 plist 编辑器中编辑路径。
这也是创建大量详细测试数据的便捷方式。
【讨论】:
当您有需要本地化的项目数组时也很方便。我在我目前正在开发的应用程序中执行此操作。【参考方案3】:PList 表示 PropertyList 它是 XML 文件格式 主要用于存储和检索数据的用户 它可以存储键值对
【讨论】:
【参考方案4】:我已经很久没有看过它们了,但 plist 是“属性列表”的一种缩写形式,可用于存储需要在应用程序执行的实例之间持久存在的应用程序配置设置。可能类似于 .properties 文件(我在 Java 项目中看到很多)。
【讨论】:
【参考方案5】:plist 本质上只是一个数据文件,它以文档格式存储信息。
来自***:
在 Mac OS X Cocoa、NeXTSTEP 和 GNUstep 编程框架, 属性列表文件是 存储序列化对象。财产 列出文件使用文件扩展名 .plist,因此经常被称为 作为 plist 文件。属性列表文件 常用于存储用户的 设置。它们还用于存储 有关捆绑包的信息和 应用程序,由 旧 Mac OS 中的资源分支。
【讨论】:
【参考方案6】:Info.plist
是键/值持久存储(property list
),用于系统和用户。它包含 XML 格式的用户友好文本。 Info.plist
是任何 Bundle
的强制文件。例如,它包含Bundle id
[About],通常由系统使用,但作为程序员/用户,您不受更改/阅读[More]的限制。就像您可以为自己的目的添加 K/V 一样。您可能会注意到某些框架会强制您将 K/V 添加到您的应用程序中以识别您或其他一些情况。
[Info.plist location]
[Vocabulary]
【讨论】:
以上是关于plist有啥用?的主要内容,如果未能解决你的问题,请参考以下文章
有啥方法可以从 iOS 的 plist 加载 const unsigned char 吗?