有没有办法创建自定义属性列表类型,以便属性列表编辑器可以像识别 Info.plist 属性列表一样识别它?
我注意到类型定义 (DTD)在 Apple 的 Info.plist 格式中,但我对 XML 模式不太了解。还有更多内容吗?
答案1
属性列表的格式列表不可扩展。
该列表定义在NSPropertyListFormatNSPropertyList.h
在Foundation 框架中找到的类型/枚举(等效于,CFPropertyListFormat从 Core Foundation 中发现CFPropertyList.h
)。
如果你正在寻找一种更容易编辑的纯文本格式(比 XML 格式更容易),那么你可能会对较旧的NeXTSTEP/OpenStep 属性列表格式。不幸的是,它无法表示新 XML 和二进制格式支持的所有类型(它缺少布尔值、数字和日期的直接表示)。由于这种向前不兼容性,标准库和工具(NSPropertyListSerialization,默认值,普利蒂尔,PlistBuddy等)会读取这种较旧的格式,但不会写入它(尽管的输出default read
看起来很像 NeXTSTEP 格式)。
这种格式通常出现在.strings
用于本地化应用程序的文件中(可能是因为这种用例仅限于字典中的字符串键和值(所有支持的类型)并且因为它几乎可以在任何文本编辑器中轻松编辑)。