2010-01-30 5 views
0

그래서 as3에 포인터가 없다는 것을 알았지 만 객체 변수를 포인터로 사용할 수있는 방법이 있다고 생각했습니다.AS3에서 getter 함수 또는 까다로운 포인터 전달

myvar = function():int{return objectName.getVarValue}; 

가 다른 옵션은 모든 가져오고 설정 방법을 변경하는 것입니다 : 지금 내가 get 함수를 유도 할 수있는 기능을 전달에 의존하고있어

는,이 같은 매우 우아한 해결책 뭔가 아니다 함수를 가져 오거나 설정하거나 추가 할 수 있습니다. 이름을 저장하는 연결 클래스를 만들 수도 있지만 그게 더 큰 두통 일뿐입니다.

아무에게도 이것보다 복잡한 것을하지 않고도 객체의 변수의 최신 값을 얻는 방법이 없다는 것을 확인해 줄 수 있습니까?


거의 3 개의 당사자가 MVC와 거의 같습니다. 나는 하나의 객체가 어떤 데이터 키와 일치하는 "view"의 값을 알려주는 컨트롤러이다. 보기는 일종의 바보이며 데이터/모델도 컨트롤러와 모든 이벤트가 겹치는 순서대로 수행됩니다. 그래서 저는 데이터 키를 데이터 키에 위임합니다. 처음에는 모든 다른 매개 변수를 정의하고 나중에 업데이트를 호출하고 데이터 키를 선택하여 데이터를 가져올 수 있습니다. 지금 내가 함수를 통해 값에 링크 된 생성자는 내가 좀 더 복잡한보다의이

onUpdate:function():int{return objectName.getVarValue};

처럼 만드는거야,하지만 그것은 그것의 요점입니다. 플렉스에서 데이터 바인딩을 할 수는 있지만 그것은 플렉스이며 AS3이 아니며 정확히 포인터가 아닙니다.

as3가 as4에서 포인터를 그냥 쓸 수 있으면 좋겠습니까? getter를 내가 모르는 함수로 가져 오는 방법이있을 거라고 생각했습니다.

+0

당신은 당신이 myVar에 함께 할 필요가 무엇인지 귀하의 예제에 추가 할 수 있습니다

이것은 당신이 당신이 그들에 익숙하지 않은 경우 시작하는 동적 특성에 대한 약간의 정보는? 그 객체가 나중에 getter에 간접적으로 액세스 할 수 있도록 다른 함수 나 생성자에 전달하고 있습니까? – AaronLS

+0

내 잘못, 지금 더 많은 정보를 추가했습니다. – Daniel

답변

1

참조가 포인터와 거의 비슷하게 동작하기 때문에 객체 자체를 전달합니다. 동적 속성을 사용하여 자신의 데이터 바인딩을 구성 할 수 있습니다. 뷰를 데이터 모델에 연결하려면 컨트롤러가 데이터 소스 개체와 데이터 바인딩을 만들고 데이터 원본에 바인딩 할 속성 이름과 뷰에 바인딩 할 속성 이름을 만듭니다.

view.AddBinding(dataObjectName, "somePropertyOnObject", "propertyNameOnView"); 

당신은 당신이 만들 Binding 클래스의 일종으로이를 저장할 수 있으며, AddBinding 호출 할 때마다, 당신은 아마 더 중복 주어진 "propertyNameOnView"에 대한이 없는지 확인하고, 컬렉션에 추가합니다.데이터 객체에 대한 속성 업데이트 이벤트에 응답해야하는 경우 Binding 객체에서 문자열을 가져 오는 경우를 제외하고는 Bindings의 전체 컬렉션을 반복하여 전체 업데이트를 수행한다는 점을 제외하고는 아래와 같이 할당을 수행합니다. 보기 :

this["propertyNameOnView"] = dataObjectName["somePropertyOnObject"]; 

하지만 더 이런 바인딩 객체 : 심지어 (방금 업데이트를 호출 할 수 있도록 자체가 업데이트 방법을 통해 노출 바인딩 객체에서 직접이 코드를 삽입 할 수

someBinding.DestinationObject[someBinding.DestinationProperty] = 
    someBinding.DataSource[someBinding.SourceProperty]; 

)를 사용하여 데이터 모델의 속성에서 뷰의 속성으로 데이터를 가져옵니다. http://www.colettas.org/?p=17

0

왜 값만 개체를 ​​누르지 않는가? 왜 특정 시간에 특정 값을 원한다면 다른 변수에 저장할 필요가 있습니까?

0

진짜 당신이 달성하기 위해 명확한 찾고하지 무슨 객체의 변수 다니엘의 최신 값을 얻을 수있는 방법. 어쩌면 단순히이 일을하지 않는 것이 왜 당신의 요구 사항을 충족시키는 지 설명 할 수 있습니까?

myvar = return objectName.getVarValue;