protected var _checked:Boolean; [Inspectable(defaultValue="true")] public function get checked () { return _checked; } public function set checked (value:Boolean) { _checked = value }
보통 이런 식으로 Inspectable
변수를 지정하여 플래시 에디터 내에서 값을 자유자재로 바꿀 수 있다. 지정한 값은 플래시가 생성자를 호출한 이후 알아서 set 함수를 호출하여 세팅해 준다.
그런데 주의할 점은 최적화 때문에 그런지는 몰라도 defaultValue
로 명시한 값과 플래시 에디터 내에서 설정한 값이 같은 경우 플래시가 알아서 set함수를 호출해주지 않는다는 것이다. 만약 저 set 함수에 변수 세팅 말고도 다른 작업을 한다면, 그 작업이 이루어지지 않아 여파가 있을 수 있다.
이에 대해서는 두 가지 정도 해결 방법이 있다.
- Inspectable 태그에서 defaultValue를 사용하지 않는다
- 생성자에서 명시적으로 set(기본값) 을 호출하여 미리 기본값이 세팅되어 있도록 한다
어도비가 이런 식으로 플래시 최적화에 많은 노력을 기울이는 것 같지만 난 이것때문에 구글링과 디버깅에 하루를 날렸다 -_-;;
구글나라에는 나와 같은 현상을 겪은 사람이 없나보다..
'Programming' 카테고리의 다른 글
graphite 설치중 막히는 것들 (0) | 2014.10.25 |
---|---|
특정 안드로이드 기기에서 '패키지 파일이 올바르지 않습니다' 에러 (1) | 2014.06.27 |
cocos2d-x 윈도우 키보드 지원 (0) | 2013.04.06 |
C# 에서 ref인자가 상속관계가 먹히지 않는 현상 (1) | 2013.01.24 |
콘솔에서 액티비티 실행하기 (0) | 2012.11.24 |