Flex3 책을 다 읽고 책거리 기념 간단 Flex Application를 만들었습니다. Naver Open - Book Search를 이용해서 책을 검색 해주는 기능을 제공합니다. 만들기 시작하면서 많은 에러 메시지를 만났습니다. 그 중에서 가장 인상 깊었던 에러 메시지(?)는 이녀석 입니다.
" warning: unable to bind to property 'XXX' on class 'Object' (class is not an IEventDispatcher) "

원하는 결과는 화면에 출력되지만 warning가 출력됩니다. warning메시지는 Error 메시지 보다도 더 신경을 거슬리게 합니다. 그래서 구글링을 시작했습니다.
검색을 통해서 여러가지 방법들을 접했지만 가장 간단한 방법은 ObjectProxy를 사용하는 것입니다.
처음에는 DataType를 명확하게 해주면 되지 않을까 생각했는데 ObjectProxy를 이용해서 이 문제를 해결하는 소스를 보고 알게된 것은 list기반의 controller의 dataProvider로 Object/ArrayCollection을 지정하면 flash player가 이 녀석들의 변화를 제대로 인식하지 못한다는 것입니다. 그것이 warning의 이유였습니다. 실제로 해결방법인 ObjectProxy 클래스는 등록되어 있는 데이터의 변경을 추척하는 용도로 사용 합니다.

참고 : Object/Array and ObjectProxy/ArrayCollection binding problems

이런 형태로 사용하시면 됩니다.
같은 고민을 하시고 계신 분들을 위해서 남겨봅니다.

Posted by 달빛변신
,