2012-07-25 2 views
1

검색 및 검색했으며 답변을 찾을 수 없습니다. 실제로 내가 읽었던 모든 것들은 제가 올바르게했음을 가리키는 것 같지만, 단지 작동하지 않습니다.플렉스 정적 변수가 작동하지 않습니다.

저는 웹 매핑 응용 프로그램을 만들고 있습니다. 모든 mxml 파일 (위젯)에서 사용할 수있는 SelectionManager 클래스를 만들고 싶습니다. 요점은지도에서 물건을 선택할 여러 위젯을 가지고 위젯간에 이벤트를주고받는 대신에 모든 정보를 담을 수있는 하나의 클래스 만 갖고 싶다는 것입니다. 이 같은

지금, 내가 해봤 뭔가 :

package SomePackage.utils 
{ 
    public class SelectionManager 
    { 
     public static var _selectionSets:ArrayCollection = new ArrayCollection(); 
     public static var _currentSelectionSet:Object; 

     (Many static functions... ex: AddToCurrentSelectionSet, removeFromCurrentSelectionSet, CreateNewSelectionSet, etc.) 
    } 
} 

_selectionSets은 객체의 ArrayCollection에 있습니다. _currentSelectionSet에는 _selectionSets arrayCollection에있는 객체 중 하나가 있습니다. 예를 들어, BufferSelectionSet과 QuerySelectionSet을 갖습니다. Buffer Widget을 열면 _currentSelectionSet이 _selectionSets Array Collection에서 적절한 selectionSet을 보유하기를 원합니다. 이렇게하면 Bufferwidget이 열릴 때 무언가를 클릭 할 때마다 해당 선택 세트에 추가됩니다.

지금 당장 두 위젯 모두 SelectionManager 클래스를 가져 오지만 인스턴스화하지는 않습니다. 두 개의 위젯 모두 동일한 SelectionManager를 가지기를 기대하면서 다른 위젯이 다른 SelectionManager를 보유하고있는 것처럼 보입니다.

예를 들어, 내 Buffer Widget 내에서 currentSelectionSet을 설정하면 ArrayCollection의 Object로 설정되어있는 것을 볼 수 있습니다. 그러나 내 Query Widget에서 currentSelectionSet을 보면 null이됩니다.

내가 충분히 명확한 지 확실하지 않아 필요한 경우 세부 정보를 제공 할 수 있습니다. 내가 말했듯이, 나는 보았고 성공하지 못했습니다. 또한 Flex 3.0 및 초 3.0에서는 초보자가 아니며 다른 프로그래밍 언어에서도 많은 경험이 있습니다. 나는 이것에 완전히 비틀 거리고있다, 아마 그것은 단지 긴 날이었다.

도움 주셔서 감사합니다.

추가 정보 :

내 위젯이 유틸 패키지 패키지 평행에, 즉 : SomePackage.Widgets

+1

위젯에서 _currentSelectionSet을 설정하는 방법을 보여줍니다. –

+0

SetcurrentSelectionSet (SetName : String)이라는 정적 함수를 통해 설정하고 있습니다. _selectionSets ArrayCollection의 객체에는 Name 속성과 Set 속성이 있습니다. 이 함수는 SelectionSets의 모든 세트를 반복하고 이름을 비교합니다. _currentSelectionSet = _selectionSets [i] – Ggilmann

+0

현재 코드가 없으므로 정확하지 않습니다. . 그러나 설정 한 위젯에 맞게 올바르게 설정되어 있습니다. 다른 위젯들은 단지 null 값을 보게됩니다 – Ggilmann

답변

0

난 정말이에 대한 만족스러운 답을 찾지 못한 것은 그래서 나는 한 무리의 연장 결국 그래서 정적 변수와 메소드로 갈 필요가 없었습니다. 더 많은 일이지만 더 나은 해결책을 제공합니다.

관련 문제