I have an enum:
enum QuestionType {
text,
recording,
goal,
}
I get back one of "Text", "Recording", "Goal" back from the server (note caps).
How do I index QuestionType with these strings without using an if or case?
>Solution :
There is only one way to use enum with String and without if and switch case like below
enum QuestionType {
text,
recording,
goal,
}
Map<String, QuestionType> questionTypeMap = {
"Text": QuestionType.text,
"Recording": QuestionType.recording,
"Goal": QuestionType.goal,
};
String responseString = "Recording"; // example response string
QuestionType responseType = questionTypeMap[responseString];
if (responseType != null) {
// Use the `responseType` enum value here
print("Response type: $responseType");
} else {
// Handle unknown response type here
print("Unknown response type");
}