Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Objective C: convert string to enum

Tags:

objective-c

If I have an enum:

typedef enum {
  SOMETHING,
} MyEnum

and I have a NSString "SOMETHING", is there a way I can go directly from the string to the ENUM value? I realize I can just make a dictionary to do this, but I'm curious.

like image 279
JPC Avatar asked Aug 16 '11 18:08

JPC


1 Answers

There isn't really a clean way to do this in Objective-C (or C, for that matter).

You're going to have to map the enum values to their string counterparts. There are a number of ways you can do this: (1) A dictionary, as you mentioned. (2) A switch statement. (3) An array of string values where each index maps to a the corresponding enum value.

like image 86
csano Avatar answered Sep 23 '22 20:09

csano