Flex에서 ActionScript를 사용하다 보면 컴포넌트를 직접 사용할 수도 있지만 id 문자열을 이용해 참조해야 할 경우가 종종 생긴다.
<mx:TextInput id="tiName" />
mxml 파일에 이런 TextInput이 선언되었다면,
tiName.text = "tiger";
이렇게 할 수도 있지만,
this["tiName"].text = "tiger";
이렇게 id 문자열을 이용해서도 참조가 가능하다.
지금까지는 정적으로 선언된 컴포넌트를 참조하는 법을 보았는데, 이외에 동적을 컴포넌트를 생성하는 경우도 가끔은 생긴다.
var textName:TextInput = new TextInput();
textName.id = "tiName";
someComp.addChild(textName);
이렇게 동적으로 생성한 컴포넌트는 this["id"] 형태로는 찾을 수가 없다. 그래서, 별도의 저장장소에 저장해 두고 사용해야 한다.
id가 원래 현재문서에서 unique한 것이므로, id를 key로 생성된 컴포넌트를 value로 해서 Dictionary에 저장해서 사용하면 적당할 것이다.
var dynamicComps:Dictionary = new Dictionary();
dynamicComps["tiName"] = textName;
위와 같이 저장하고, 참조하고 싶을 때는 dynamicComps["tiName"] 를 사용하면 된다.
Dictionary에 대한 보다 자세한 설명은 아래 링크 참조
http://flexsong.tistory.com/8
<mx:TextInput id="tiName" />
mxml 파일에 이런 TextInput이 선언되었다면,
tiName.text = "tiger";
이렇게 할 수도 있지만,
this["tiName"].text = "tiger";
이렇게 id 문자열을 이용해서도 참조가 가능하다.
지금까지는 정적으로 선언된 컴포넌트를 참조하는 법을 보았는데, 이외에 동적을 컴포넌트를 생성하는 경우도 가끔은 생긴다.
var textName:TextInput = new TextInput();
textName.id = "tiName";
someComp.addChild(textName);
이렇게 동적으로 생성한 컴포넌트는 this["id"] 형태로는 찾을 수가 없다. 그래서, 별도의 저장장소에 저장해 두고 사용해야 한다.
id가 원래 현재문서에서 unique한 것이므로, id를 key로 생성된 컴포넌트를 value로 해서 Dictionary에 저장해서 사용하면 적당할 것이다.
var dynamicComps:Dictionary = new Dictionary();
dynamicComps["tiName"] = textName;
위와 같이 저장하고, 참조하고 싶을 때는 dynamicComps["tiName"] 를 사용하면 된다.
Dictionary에 대한 보다 자세한 설명은 아래 링크 참조
http://flexsong.tistory.com/8
'Flex' 카테고리의 다른 글
Flex I18N 메시지 컴파일용 Ant Build.xml (0) | 2009.07.01 |
---|---|
DataGrid Paging 구현 (0) | 2009.05.20 |
아주 유용한 이클립스 단축키 (0) | 2009.05.19 |
Flex에서 Java의 HashMap과 같은 기능 사용 (0) | 2009.05.15 |
Flex에서 HTML 페이지 띄우기 (0) | 2009.05.14 |