Apache flex 在Flex Mobile项目中将数据对象转换为Int

Apache flex 在Flex Mobile项目中将数据对象转换为Int,apache-flex,actionscript-3,flex4.5,Apache Flex,Actionscript 3,Flex4.5,我正在使用Flex4.5在Flash builder中开发一个移动项目。我对flex非常陌生,有一些Obj-C方面的背景 当前设置: 我正在通过navigator.pushview{view.Someview,data}将文本输入组件的文本属性传递给第二个视图 public function doSomething():void{ navigator.pushView(Session_View, timeInput.text); } 这成功地将我放入te

我正在使用Flex4.5在Flash builder中开发一个移动项目。我对flex非常陌生,有一些Obj-C方面的背景

当前设置:

我正在通过navigator.pushview{view.Someview,data}将文本输入组件的文本属性传递给第二个视图

public function doSomething():void{
            navigator.pushView(Session_View, timeInput.text);
        }
这成功地将我放入textinput的文本传递到Session_View实例,我可以在mxml的标签中显示该文本;但是,我希望将传递的文本转换为一个整数,以便在逻辑中使用

在动作脚本中,我尝试了parseInt()函数,但没有成功。 我还尝试将数据分配给actionscript中的变量,但运气不佳

有没有任何flex忍者知道我做错了什么,或者知道在flex mobile中在视图之间传递一个简单字符串,然后将该字符串转换为int的最佳实践方法


谢谢

parseInt和casting to Number都可以工作

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:mx="library://ns.adobe.com/flex/mx"
                xmlns:s="library://ns.adobe.com/flex/spark"
                creationComplete="application1_creationCompleteHandler(event)"
                >
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            [Bindable]
            public var intA:int;
            [Bindable]
            public var intB:int;

            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                var s:String = "55";
                intA = parseInt(s);
                intB = Number(s);

            }

        ]]>
    </fx:Script>
    <s:VGroup>
        <s:Label text="{intA}" />
        <s:Label text="{intB}" />
        <s:Label text="{intA+intB}" />
    </s:VGroup>
</s:Application>
如果您需要在每次将数据推入视图时使用该属性执行某些操作,而不仅仅是第一次,那么您应该重写set data方法

public override function set data(value:Object):void{
    super.data = value;
    var someInteger:int = data.integerProperty;
}

parseInt和转换为Number都应该可以工作

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:mx="library://ns.adobe.com/flex/mx"
                xmlns:s="library://ns.adobe.com/flex/spark"
                creationComplete="application1_creationCompleteHandler(event)"
                >
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            [Bindable]
            public var intA:int;
            [Bindable]
            public var intB:int;

            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                var s:String = "55";
                intA = parseInt(s);
                intB = Number(s);

            }

        ]]>
    </fx:Script>
    <s:VGroup>
        <s:Label text="{intA}" />
        <s:Label text="{intB}" />
        <s:Label text="{intA+intB}" />
    </s:VGroup>
</s:Application>
如果您需要在每次将数据推入视图时使用该属性执行某些操作,而不仅仅是第一次,那么您应该重写set data方法

public override function set data(value:Object):void{
    super.data = value;
    var someInteger:int = data.integerProperty;
}

谢谢你的回答,但我想我需要改写我的问题。我的问题是,当我试图从navigator.pushView(view,dataobject)传递对象时,我不知道如何从actionscript访问dataobject。我可以轻松地从MXML访问{dataobject.property},但我想在新视图中为传递的dataobjects property.edited设置一个变量。请回答上面关于如何访问推送到视图中的数据的问题。谢谢你的回答,但我想我需要重写我的问题。我的问题是,当我试图从navigator.pushView(view,dataobject)传递对象时,我不知道如何从actionscript访问dataobject。我可以很容易地从MXML访问{dataobject.property},但是我想在新视图中为传递的dataobjects属性设置一个变量。上面编辑了如何访问推送到视图中的数据的答案。