ANE-IOS与AS的互通

从AS调用IOS的函数与传参数

extContex是ExtensionContext的实例,通过call调用。第一个参数是IOS对应的函数,之后所有的参数会变成一个数组传入IOS中。也就是说函数名称后面可以是一个可变数组。例如:

extContex.call("setVolume",参数1,参数2,参数3);

IOS中

FREObject setVolume(FREContext ctx, void* funcData, uint32_t argc, FREObject argv[])

{

  //argv[]接收到的就是AS传过来的参数

  //argv[0]对应参数1,argv[1]对应参数2,argv[2]对应参数3

  return NULL;

}

 

从IOS中往AS抛事件是这样的

FREDispatchStatusEventAsync(eventContext, eventCode, dataCode);
eventContext:是as传过来的FREContext
eventCode:对应的是AS中的StatusEvent中的code
dataCode:对应的是AS中的StatusEvent中的level
eventCode我们可以用来传送一个字符串类型的标识符,在AS中接收到StatusEvent.STATUS事件后,用拿来判断做什么处理,例如:
protected function onStatus(event:StatusEvent):void

{

  switch(event.code)

  {

    case "阿西吧":

      trace("他在说韩国鸟语");

      break;

    case "草泥马":

      trace("这是中国神兽");

      break;

  }

}
 
  
dataCode我们可以用来携带从原生返回的数据,比如xml数据,json数据,或者有分隔符的字符串"a|b|c|d"。有分隔符的字符串最终能用splite("|")转成数组。这样我们就完成了从原生到AS的回调与数据传输

你可能感兴趣的:(ios)