ActionScript3.0中类间传值问题解决
sp; service.send(obj); } private function resultHandler(event:ResultEvent):void { [color=Red]Result = event.result.resp.catagory;[/color] } } } 我却无比郁闷地发现,在红色Result = event.result.resp.catagory我可以trace出Result的值,但是在其它类引用Result的时候它却是null。这个问题已经是第二次出现了,上次是让雨用一个巧妙的方法给解决了,这次得老老实实解决它。 多次trace以后,把问题定位在了数值的作用域中。莫非,Result得到的是一个引用,而不是一个值?查阅flex帮助,event.result返回的是一个ArrayCollection,顺理成章赋值给Result不是很舒坦吗...问题就在这里了..这个Result得到的是对event.result.resp.catagory的引用。离开了resultHandler这个函数,event.result.resp.catagory也不复存在,Result所指向的对象变成了空(null),因此trace出来的东西也只会是null了。 既然明白了是引用的问题,跟着要做的事情就很好解决了。我们要给Result赋值。ArrayCollection有一个addItem的方法,我只要利用它,就能把Result充实了,它也不会再是null了。Result可以在其它类调用了。 修改后的代码如下: { import flash.events.* import mx.collections.ArrayCollection; import mx.collections.IViewCursor; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; import mx.utils.A |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |