가령 이런거다. var childIsButton:Boolean = this.getChildAt(0) is mx.controls.Button; 을 했다고 하자. 그러니깐 자식 컴포넌트가 Button인지 확인하는 작업인데... 만약 자식이 Button이 아닌 다른 Label, Chart등이 올 수 있다고 하자. 이와 같은 형태로 프로그램을 만들면 Button이 없는 경우에도 버튼이 프로그램상에 포함이 되어진다. 즉, 쓰지 않을 버튼인데 프로그램에 포함되므로 쓸데없이 프로그램 크기가 커질 수 있다. 그럼 이러한 경우에는 어떻게 할까? 바로 getQualifiedClassName()함수를 이용하면 되겠다. var child:DisplayObject = getChildAt(0); var childClassName:String = getQualifiedClassName(child); var childIsButton:Boolean = childClassName == "mx.controls::Button"; 위의 경우 getChildAt(0)로 자식을 얻어온 뒤, 이 자식의 Class이름을 얻어온다. 이 클래스가 Label이면 mx.controls::Label 이 될 것이다. 바로 아래를 보자 "mx.controls::Button"으로 비교를 하고 있다. 앞서 말했던 코드와 큰 차이점은 Button이 프로그램상에 포함이 되어 있지 않아도 해당 자식 컴포넌트가 Button인지 확인할 수 있다는 점이다. 이 방법을 이용하면 프로그램을 크기를 줄이는데 큰 역할을 할 수 있을것이다. 참고내용 : http://flexdocs.kr/docs/flex2/docs/00001390.html 글쓴이 : 지돌스타(http://blog.jidolstar.com/308) Trackback Address :: http://blog.jidolstar.com/trackback/308
|
||||||

