컴포넌트를 개발하면서 쓰기 편하게 만드려면 메타 태그를 잘 활용해야 한다.
가령 어떤 컴포넌트를 만들었고 그안에 public flag 하나를 만들어서 외부에서 조정한다고 해보자

var mc:MyComponent = new MyComponent();
mc.flag = true;

액션스크립트를 쓰면 이렇게만 쓰면 되기 때문에 public 이면 충분하다. 개발 시간은 항상 빡빡하니까 ㅠㅠ

그런데 플렉스 개발을 계속 하다보니 정적인 컴포넌트는 mxml로 짜는 것이 500% 쯤 낫다는 거다.
여기서 정적이다라는 말은 개당 컴포넌트가 화면에 많지 않고 개체수가 고정되있다는 말이다.
움직이고 사라지고와는 관계가 없다.

그래서 컴포넌트를 mxml로 짜면

<comp:MyComponent flag="true"/>

이런 형태가 되는데 flag를 읽어오긴 하지만 기본값이 없다. 기본 컴포넌트의 enabled 같은 속성을 써보면
enabled 치면 코드힌트로 선택할 수 있는 값들이 나오는 것을 알 수 있다.

그래서 찾아본 결과 Inspectable 메타 태그를 쓰면 된다는 사실을 알게 되었다.
아래 코드처럼 MyComponent 안에 작성하게 되면 이제 코드힌트도 팍팍 주는 떳떳한 mxml 컴포넌트라 할 수 있겠다.

private var _flag:Boolean = true;

public function get flag():Boolean {
return _flag;
}

[Inspectable( category="General", enumeration="true,false", defaultValue="true" )]
public function set flag( value:Boolean ):void {
_flag = value;
}


메타데이터 태그 공식 레퍼런스 페이지
http://livedocs.adobe.com/flex/3/html/help.html?content=metadata_3.html
Posted by 미랭군