Kle*_*ioz 6 enums objective-c ios
下面的枚举用于BMI工具中的几个位置:
typedef NS_ENUM (NSInteger, BMIStatus) {
Malnutrition = 1,
Anorexia = 2,
Thinness = 3,
Normal = 4,
Overweight = 5,
Obesity = 6,
Morbid = 7
};
Run Code Online (Sandbox Code Playgroud)
是否有把"营养不良"用作字符串的技巧?考虑到我有一个名为"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);
Run Code Online (Sandbox Code Playgroud)
如果需要在int值与NSString值之间进行映射,则需要编写映射函数。
另外,请确保为枚举和字符串常量添加前缀!