iOS 中的 plist 是什么?


在本教程中,我们将讨论如何在应用程序中使用 plist 来存储信息。让我们首先了解什么是 plist。

什么是 plist?

plist 文件也称为属性列表,由操作系统(例如 iOS)和用户使用。信息以类似于字典的键值对格式存储。

plist 文件可以包含不同类型的值,例如字符串、数组、字典、布尔值、日期、数据和数字(例如整数)。大多数这些类型对应于原生的 Swift 类型,例如 Array 和 Bool。您还可以存储嵌套的数组和字典,即在另一个数组中添加数组等,以创建更复杂的数据结构。

什么是 info.plist?

info.plist 文件包含有关您的本地首选项的关键信息。它用于存储移动应用程序的配置。我们可以在 plist 文件中存储设置信息。

创建新应用程序时会自动创建此文件。此文件中保存的信息由 App Store 和操作系统用于确定应用程序的功能并找到关键资源。必须包含此文件,并且必须将其命名为 Info.plist,否则编译器将无法运行应用程序。

info.plist 文件的预定义值是什么?

  • 捆绑包名称和标识符

  • 支持的界面方向

  • 启动屏幕界面文件基本名称

  • 位置访问权限

  • 相机访问权限

  • 自定义键值对

您可以使用许多预定义键来存储信息。您可以使用许多不同类型的权限。例如,如果您的应用程序正在访问应用程序中用户的地理位置,则必须添加权限以及关于您为何访问应用程序中用户地理位置的正确消息,以便应用程序用户能够理解其背后的原因。

plist 格式

plist 文件的格式包含一系列以 XML 编码的键值对。键始终是字符串,值可以是字符串、数字、数组、字典或日期。当您在文本编辑器中打开 plist 文件时,它看起来像是一堆杂乱的数据。但是,数据已以易于计算机读取的格式进行组织。

<?xml version=1.0″ encoding=UTF-8?> <!DOCTYPE plist PUBLIC-//Apple//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”> <plist version=1.0> <dict> <key>Name</key> <string>Amit Mishra</string> <key>Age</key> <integer>40</integer> <key>Children</key> <array> <string>Rahul</string> <string>Aman</string> <string>Nitya</string> </array> </dict> </plist>

在此示例中,文件包含三个键值对。第一对的键为“Name”,值为“Amit Mishra”。第二对的键为“Age”,值为 40(整数)。第三对的键为“Children”,值为字符串数组。数组和字典可以包含其他键值对和数组。这允许您以分层格式存储数据。

如何在 Swift 中读取 plist 值?

var dictionary: [String: Any] { if let path = Bundle.main.path(forResource: "Info", ofType: "plist"), let dictionary = NSDictionary(contentsOfFile: path) as? [String : Any] { return dictionary } return [:] }

注意 - 除非您完全了解自己在做什么,否则手动编辑 plist 文件非常危险。如果您犯错,应用程序可能会崩溃且无法正常工作。在进行任何更改之前,请保留原始 plist 文件的备份副本,以便在出现问题时可以恢复。

结论

您也可以手动编辑应用程序的 plist 文件,但这可能非常棘手,具体取决于特定应用程序如何将数据写入 plist 文件。了解 XML 结构很有帮助。例如,如果您想更改 TextEdit 应用程序的字体大小,则可以在文本编辑器或 Xcode 中打开 com.apple.TextEdit.plist 文件。您会找到与字体大小相关的键,更改该值,保存 plist 文件,然后退出编辑应用程序。

现在您知道属性列表对于将用户设置读写到文件非常有用,并且它们在 Xcode 中易于编辑。

更新于: 2022-12-09

4K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.