如何在 Xcode 4 中将 plist 的根对象类型更改为 NSArray
Posted
技术标签:
【中文标题】如何在 Xcode 4 中将 plist 的根对象类型更改为 NSArray【英文标题】:How do you change a plist's root object type to NSArray in Xcode 4 【发布时间】:2011-05-13 11:09:28 【问题描述】:如何在 Xcode 4 中创建的 plist 中将根对象类型更改为 NSArray? 它默认为一种 NSDictionary,但我找不到改变它的方法。
【问题讨论】:
我几乎可以肯定根对象必须是 NSDictionary。你为什么要这样做? @Nosrac:不,根对象可以是任何东西,甚至是字符串或数字,在这种情况下,它当然不能再有任何子对象。引用 Apple 的话:“根属性列表对象位于此层次结构的顶部,几乎在所有情况下都是字典或数组。但是请注意,根属性列表对象不必是字典或数组; 例如,您可以有一个字符串、数字或日期,而该原始值本身可以构成一个属性列表。” - tinyurl.com/6hhljuo 【参考方案1】:你不能在 Xcode4 中这样做。您可以做的是将数组作为根对象手动创建一个 plist,或者采用现有的一个(当然这个应该是一个空的,因为用行转换一个没有意义)并通过替换 <dict/>
来修改它使用<array/>
(如果它是二进制文件,您可能必须先将其转换为 XML plist)。一旦根对象是一个数组,Xcode 似乎会保持这种状态,当您选择添加一行时,它会立即将一个数字作为键(当然,因为没有其他可能)。也许你应该在https://bugreport.apple.com提出功能请求
【讨论】:
不过,您可以在 Xcode 4 中完成。但不是在普通编辑器中。您可以右键单击该文件并选择 Open As...,然后选择“Source Code”,Xcode 会让您将其编辑为文本文件。【参考方案2】:1- 在 XCode 中创建 PLIST。 2- 打开创建的空 plist 文件。 3- 右键单击 plist 的空白区域。 4- 添加行。 5- 在类型列中,选择数组。
【讨论】:
这不是海报的意思。当我按照您上面的建议进行操作时,我得到一个 plist,其中根对象仍然是一个字典,具有一个键/值对,其中键名为 New Item,值是一个数组。以上是关于如何在 Xcode 4 中将 plist 的根对象类型更改为 NSArray的主要内容,如果未能解决你的问题,请参考以下文章
UIUserInterfaceStyle 键在 Xcode 12 的 Info.plist 中不可用,如何从 Info.plist 禁用 Xcode 12 中的暗模式?