2009-04-30 3 views
1
[Bindable] private var arr_activities:Array; 
var test: _Aktivitaet; 
arr_activities = event.result as Array; 
test = arr_activities.pop() as _Aktivitaet; 

왜 테스트가 항상 null로 유지됩니까? 마틴AS3 배열 문제

답변

1

어느 event.result는 빈 배열 "[]"입니다, 또는 마지막 값이 _Aktivitaet하지

package at.moschitz.topfive 
{ 
    [RemoteClass(alias="Aktivitaet")] 
    [Bindable] 
    public dynamic class _Aktivitaet extends MyEntity 
    { 
    public var AktID:int; 
    public var AktName:String; 
    public var AktMindAlter:int; 
    public var AktMaxAlter:int; 
    public var AktKategorie:_AktKategorie; 
    public var AktIsActive:Number; 
    } 
} 

들으 :

_Aktivitaet 사용자 정의 클래스입니다. 메서드 디스패치 이벤트가 올바른지 확인하십시오. 대신

test = arr_activities.pop() as _Aktivitaet; 

1

이 시도하고 당신이 무엇을 얻을 오류를 참조하십시오

test = _Aktivitaet(arr_activities.pop()); 

사이먼 Buchnan가 말했듯이 - 배열이 비어 있거나 배열의 마지막 객체는 _Aktivitaet없는 경우 null 값이 반환됩니다. 대신에 _Aktvitaet(arr_activities.pop())을 사용하여 캐스팅하면 플래시가 문제를 디버그하는 데 도움이되는 오류를 발생시킵니다.

0

"브레이크 포인트"기능을 사용하여 변수 값을 확인할 수 있습니다. \ n 게시 된 코드가 이해할 수 없으므로 \ 이벤트의 출처는 어디입니까? 맞춤 이벤트 클래스의 인스턴스입니까? \ n 이벤트의 대상은 무엇입니까?