2010-04-19 1 views
0

저는 백엔드 데이터베이스에서 데이터를 가져 오는 Flex 앱을 사용하여 3 가지보기 중 하나에 콘텐츠를 표시합니다. 이 뷰는 모두 main.mxml에서 인스턴스화 된 뷰 스탁에 있습니다. 데이터 (원격 객체)를 얻는 방법은 main.mxml에도 있습니다.다른 앱보다 먼저 데이터를로드하는 Flex 앱

뷰는 데이터에 의존하므로 viewstack의 뷰 중 하나가 생성되거나 초기화되기 전에 데이터가 먼저로드되는지 확인하여 null 참조 오류가 발생하지 않도록하려면 어떻게해야합니까?

답변

0

데이터를 가져올 때 해당 데이터를 수신하도록 콜백 함수를 정의해야합니다 (콜백 함수는 addEventListener에 넣은 함수입니다). 모든 콜백이 호출 된 후에 함수를 호출하여 viewstack을 작성하면됩니다.

내가 할 수있는 방법은 numCallbacks라는 클래스 필드를 만드는 것입니다. 콜백 중 하나가 호출 될 때마다이 변수를 증가시킵니다. 증분 직후 numCallbacks == 콜백 수를 확인하십시오. true 인 경우 뷰 스택을 만듭니다.

+0

나는 작동하는 것처럼 보이지만, 우연인지 아닌지를 말해 줄 수 있습니다. 나는 창조 정책이 NONE 인 메인 세트의 전체 viewstack을 가지고있다. 메인에서는 전 초기화 초기화를 호출하여 데이터를 얻고 생성을 완료하여 viewstack에서 initialize()를 호출합니다. 나는 그 방법이 조금 엉성하고 잠재적으로 위험하다는 것을 알고 있지만,이 방법으로 끔찍한 함정을 볼 수 있습니까? –