Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
flash_as3_facebook_api:如何迭代FacebookDesktop.login返回的FacebookSession对象_Facebook_Actionscript 3_Flash_Loops_Flash Builder - Fatal编程技术网

flash_as3_facebook_api:如何迭代FacebookDesktop.login返回的FacebookSession对象

flash_as3_facebook_api:如何迭代FacebookDesktop.login返回的FacebookSession对象,facebook,actionscript-3,flash,loops,flash-builder,Facebook,Actionscript 3,Flash,Loops,Flash Builder,在flashbuilder调试器模式下,当我在loginhandler方法中放置断点时,我可以检查FacebookDesktop.login返回的FacebookSession对象的所有道具/VAL 但是,我不能似乎在中使用for…遍历FacebookSession对象。我已经使用ObjectUtil.isDynamicObject(…)检查了FacebookSession是否是动态的,但它不是,因此for..in应该可以工作 public function gf_handle_facebook

在flashbuilder调试器模式下,当我在loginhandler方法中放置断点时,我可以检查FacebookDesktop.login返回的FacebookSession对象的所有道具/VAL

但是,我不能似乎在中使用for…遍历FacebookSession对象。我已经使用ObjectUtil.isDynamicObject(…)检查了FacebookSession是否是动态的,但它不是,因此for..in应该可以工作

public function gf_handle_facebook_login_return( argl_success : Object ,
                                                 argl_failure : Object  ) : void 
  { // IF I ADD breakpoint here, I get a fully populated argl_success object in flashbuilder's Debugger Variables tab.

    trace( "gf_handle_facebook_login_return , A : " + typeof( argl_success ) + " , " + argl_success[ "uid" ] ) ; // works
    trace( "gf_handle_facebook_login_return , C : " + ObjectUtil.isDynamicObject( argl_success ) ) ; // false ... is NOT a dynamic class

    var lvo_FBS : FacebookSession = FacebookSession ( argl_success ) ; // tried it with and without casting
    var lvn_prop :* ;
    for ( lvn_prop  in lvo_FBS) 
      { trace( "gf_handle_facebook_login_return , D : " + lvn_prop   ) ; // is never called
      }
    for each( lvn_prop   in lvo_FBS) 
      { trace( "gf_handle_facebook_login_return , E : " + lvn_prop   ) ; // is never called
      }
  }
将只循环浏览动态属性,正如您所说,它不是动态的。

//获取该类的XML描述
//并将变量类型返回为带有e4x的XMLList
var varList:XMLList=flash.utils.describeType(myVO)…变量;
for(vari:int;i
。。。那起作用了。。。但我想知道:这看起来像是黑客行为,还是你会认为这是一种合适的、健壮的、可靠的方法,用于挖掘第三方(facebook)供应商返回的对象。。。谢谢。我相信这是一个很好的低层次的原因,但很抱歉我不知道。显然,这是你们所有的选择。我认为这是FB方面的疏忽。但是,因为您知道它不是动态的,所以您应该只按名称调用属性。
//Get an XML description of this class
//and return the variable types as XMLList with e4x
var varList:XMLList = flash.utils.describeType(myVO)..variable;

for(var i:int; i < varList.length(); i++){
//Show the name and the value
trace(varList[i].@name+':'+ myVO[varList[i].@name]);
}