我有一个我定义的用于设置配置信息的枚举。让我们调用枚举 objectTypes
它定义了多种不同的类型,并且枚举为这些类型定义了人类可读的名称。
我的伙伴编写了循环遍历对象数组并设置这些类型值的设置代码。他使用整数值。
以下是他所做工作的粗略概述:
for (int index = 0; index < [configArray count]; index++)
{
ConfigObject aConfigObject = [configArray objectAtIndex: index];
if (index ==0;
aConfigObject.type = 7;
else if (index == 1)
aConfigObject.type = 5;
else if (index == 2)
aConfigObject.type = 3;
}
(这是用于说明我在说什么的伪代码。)
我不喜欢那样有几个原因。首先,很难阅读。7型是什么鬼?其次,如果我稍后添加新的枚举类型,或者更改枚举的顺序,它就会中断。(用户可见的类型列表按数字顺序显示。)
我将代码更改为:
aConfigObject.type = blueType;
更好,但仍然是严格的代码。
我想将此配置信息移动到 plist 文件中并在启动时读取它。然而,这让我回到了最初的问题。如果我将这些值放入 plist,我不知道使用自定义枚举类型的方法。我被迫将数值放入我的 plist 中,这使得代码 plist 可以读取和维护。
Apple 在其 plist 中到处使用自定义枚举类型。
是否可以定义新的自定义枚举类型并在最新版本的 Xcode(当前使用 Xcode 4.5)中教授内置 plist 编辑器来理解这些枚举?那将是一个巨大的进步。我已经进行了大量搜索,但到目前为止还没有找到任何答案。