Objective-C-使用Enum标识符作为字符串

克莱奥兹

以下枚举在BMI工具中的多个位置使用:

typedef NS_ENUM (NSInteger, BMIStatus) {
    Malnutrition = 1,
    Anorexia = 2,
    Thinness = 3,
    Normal = 4,
    Overweight = 5,
    Obesity = 6,
    Morbid = 7
};

是否有技巧将“营养不良”用作字符串?考虑到我有一个名为“ Malnutrition.png”的图像,我想使用经典的ImageNamed加载,并且不使用[1] => @"Malnutrition"例如存储中间数组的图像

我的想法是使用[UIImage imageNamed:[NSString stringWithFormat:@"%e", Malnutrition]]%e导致枚举标识符而不是关联值的一种方式。

谢谢。

科林布拉什

不幸的是,使用Objective-C只是不可能做到这一点。但是,如果可以改用Swift,它就在Swift中。

历史上这是在Apple的NSString常量代码中处理的例如:

UIKIT_EXTERN NSString *const NSFontAttributeName NS_AVAILABLE_IOS(6_0);

如果需要在int值和NSString之间进行映射,则需要编写一个映射函数。

另外,请确保为您的枚举和字符串常量加上前缀!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Objective-C:使用未声明的标识符

错误:使用未声明的标识符“self”c++-objective c混合

Objective-c:未声明的标识符 applicationDidEnterBackground

CGImageDestinationRef的Objective-C未声明标识符

Objective-C-使用未声明的标识符(定义后)

Objective C 类方法错误“使用未声明的标识符”

iOS:Objective-C 创建类属性错误:使用未声明的标识符

将Swift导入到Objective-C中-“使用未声明的标识符”

在Objective c中使用Swift类。发生未声明的标识符错误

在长字符串中使用UItextview / NSstring占位符的Objective C

如何在不使用C#将其写入字符串文字的情况下引用标识符?

在Objective-C中使用&error(NSError)构造的解释(使用无关紧要的标识符“ error”)

C ++ Visual Studio类错误标识符字符串未定义

声明变量时C#转义字符串标识符

C2061'字符串':未声明的标识符

C ++ 17是否允许使用非ASCII字符作为标识符?

Objective-C-使用字符串,使用NSRange查找子字符串

测试组合的Objective-C / Swift应用程序导致未解决的标识符?

在C#中使用“值”作为标识符

为什么在Objective-C中将变量和方法作为字符串传递?

在Objective-C字符串中是否有占位符?

Objective-c基础:将字符串转换为运算符?

Objective-C:随机替换字符串中的字符

C#TimeSpan:如何将格式标识符用作格式字符串中的字符?

访问字典中的字符串(Objective-c)

Objective-C:查找字符串中的数字

Objective-C可空性:限定常量字符串

Objective-C中的字符串替换

属性字符串颜色-Objective-c