enum String 변환하기!

🦥 enum 을 string 변환하기

dart 에서 enum을 사용할 때가 있다.

dart 는 타입스크립트와 같은 방법으로는 안된다.

// 컴파일 에러!!
enum Example {a = "A입니다.", b = "B입니다."}

선언 )

enum Example {a, b}

방법 1 ) 함수로 해결하기

String convertExampleToText(Example example) {
	swith (example) {
    	case example.a:
	        return "A입니다.";
    	case example.b:
    	    return "A입니다.";
        default:
        	return "";
    }
}
print(convertExampleToText(Example.a)); // A입니다.

방법 2 ) extension method 로 해결하기

extension ExampleExtension on Example {
	String get convertExampleToText {
    	switch(this) {
          case example.a:
              return "A입니다.";
          case example.b:
              return "A입니다.";
          default:
              return "";
        }
    }
} 

print(Example.a.convertExampleToText); // A입니다.

방법 3 ) 2.17 버전 이후로는 이렇게도 가능하다. enum 확장 버전

enum Tags {
  study('STUDY', '공부'), // 공부
  career('CAREER', '진로'), // 진로
  love('LOVE', '연애'), // 연애
  breakUp('BREAKUP', '이별'), // 이별
  friend('FRIEND', '친구'), // 친구
  religion('RELIGION', '종교'), // 종교
  money('MONEY', '금전'), // 금전
  jobs('JOBS', '취업'), // 취업
  etc('ETC', '기타'); // 기타

  final String tag;
  final String tagName;

  const Tags(this.tag, this.tagName);
}

view 단

Tags selectedTag = Tags.study;
index = 0;
Text(Tags.values[index].tagName); // 공부
Text(Tags.values[index].tag); // STUDY

Categories:

Updated:

Leave a comment