假设我定义了这个枚举(来自 Apple 的 UIKit 框架):
typedef enum {
UITextAutocorrectionTypeDefault,
UITextAutocorrectionTypeNo,
UITextAutocorrectionTypeYes,
} UITextAutocorrectionType;
我有一个带有“UITextAutocorrectionTypeDefault”值的简单字符串。在我的例子中,这个字符串来自一个 JSON 对象,但这并不重要。
将字符串转换为正确的枚举值以便我可以在类中设置属性的最佳方法是什么?我知道 Obj-C 不能直接转换值(就像你可以用 Java 或 C# 做的那样),在我的例子中,我有很多枚举,这些枚举可能会在以后创建。除了必须手动创建映射字典之外,是否有任何自动或半自动的方式来执行此操作?
最佳答案
在 C
(阅读 Objective-C
)中,除了手动映射值之外没有办法做到这一点。枚举只是定义常量值,这些值不能在运行时转换为字符串或从字符串转换,就像它们在 C#
或 Java
中一样,它们将它们视为对象。
你怎么能stringify编译时的值。
关于objective-c - 将 NSStrings 转换为枚举的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986140/