그것과 같이, 심지어는 동적 객체에 대해 객체 인스턴스를 선언하는 것이 가능하다 :사전 선언은 가능합니까? MXML에서
<mx:Object>
<mx:foo>bar</mx:foo>
<mx:bar>foo</mx:bar>
</mx:Object>
는 일부 MXML 래퍼 클래스를 사용하지 않고 사전 클래스와 동일한 기능을 수행 할 수 있습니까?
그것과 같이, 심지어는 동적 객체에 대해 객체 인스턴스를 선언하는 것이 가능하다 :사전 선언은 가능합니까? MXML에서
<mx:Object>
<mx:foo>bar</mx:foo>
<mx:bar>foo</mx:bar>
</mx:Object>
는 일부 MXML 래퍼 클래스를 사용하지 않고 사전 클래스와 동일한 기능을 수행 할 수 있습니까?
나는이 질문을 잘 이해하고 있지는 않지만, MXML로 사전을 선언 할 수 있는지 묻는다면, 할 수있다. 여기에 동적으로 사전에 항목을 추가하는 방법을 보여주는 형태와 함께 MXML에 선언 된 사전을 보여주는 몇 가지 코드는 다음과 같습니다 도움이
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:utils="flash.utils.*" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
private function onCreationComplete():void
{
showContents();
}
private function onBtnClick():void
{
addProperty();
showContents();
}
private function showContents():void
{
txt.text = "";
for (var k in d)
txt.text += k + ": " + d[k] + "\n"
}
private function addProperty():void
{
d[pname.text] = pvalue.text;
pname.text = "";
pvalue.text = "";
pname.setFocus();
}
]]>
</mx:Script>
<mx:VBox>
<mx:Label text="Dictionary Contents" />
<mx:TextArea id="txt" width="350" height="200" />
<mx:HBox>
<mx:VBox>
<mx:Label text="New Property Name" />
<mx:TextInput id="pname" text="pets" />
</mx:VBox>
<mx:VBox>
<mx:Label text="New Property Value" />
<mx:TextInput id="pvalue" text="dog, cat, fish" />
</mx:VBox>
</mx:HBox>
<mx:Button id="btn" label="Add" click="onBtnClick()" />
</mx:VBox>
<utils:Dictionary id="d">
<utils:fname>Chris</utils:fname>
<utils:lname>Nunciato</utils:lname>
</utils:Dictionary>
</mx:Application>
희망! 내가 완전히 그 지점을 놓친 경우, 뒤로 물러서서 내가 도울 수 있는지 알게 될 것이다. 당신이 바로 네임 스페이스를
<mx:Application ... xmlns:utils="flash.utils.*">
<utils:Dictionary>
<utils:foo>bar</utils:foo>
...
</utils:Dictionary>
...
를 가져하지만이 작업을 수행하는 좋은 이유가없는 경우
아니요, 사전이 MXML에 바인딩되어 있다고 생각하지 않습니다.
정말 원하는 것을 사전이 필요합니까?
이 가능합니다. 일반적인 Object (또는 < mx : Model>)에 대한 사전의 장점은 일반적으로 사용하는 것으로 String 이외의 객체를 키로 사용할 수 있다는 것입니다. 그러나 MXML에 문자열이 아닌 키를 쓸 수는 없습니다.
다른 말로 표현하면 : 예를 만들 수는 있지만 요점은 없습니다.
하나의 상황을 제외하고 동의합니다. MXML을 사용하여 모의 (mock) 데이터를 만드는 경우가 종종 있습니다. 왜냐하면이 형식이 효율적으로 효율적으로 작동하기 때문입니다. MXML에서는 모의 값 객체 또는 다른 유형의 모의 객체를 AS보다 읽고 쓰는 것이 훨씬 쉽습니다. 하지만 그래, 그렇지 않으면 너의 감정에 동의한다. –
+1은 아무런 의미가 없습니다. Dict는 비 문자열 키에 적합합니다. 그렇지 않으면 Object를 사용하십시오. –
고마워, 이것이 우리가 단순히 Dictionary가 mx 네임 스페이스에 없다는 사실을 몰랐던 신참자의 실수 였음이 드러났습니다! –