AS3 - 从自定义类传递数组到Main.as

时间:2014-08-05 22:43:25

标签: arrays actionscript-3

我正在尝试从自定义类中获取数组,以便在main.as文件中使用。

以下是我正在使用的内容。

Main.as:

function searchPrize(e:MouseEvent):void
{
    var searched_number:Pcnsearch = new Pcnsearch();
    searched_number.searchNum(pcn.text,'fueltest',this.stage);

    // trying to get the array "CReturn from custom class to trace out
    var number_arr:Array = new Array(searched_number.returnSearch());
    trace(number_arr.fName);
}

自定义类:(摘录)

public var cReturn:Array = new Array();

public function loader_completed(e:Event)
{
    var person:URLVariables = new URLVariables(e.target.data);
    this.cReturn.pcn = person.one;
    this.cReturn.fName = person.five;
    this.cReturn.lName = person.six;
}


public function returnSearch()
{
    return cReturn;
}

我做错了什么导致我没有将数组返回到我的main.as文件中?

任何帮助都会很棒, 谢谢,

2 个答案:

答案 0 :(得分:0)

您的问题是您在number_arr上使用类中的数组作为参数分配新的Array()。这意味着它将返回一个包含数组的数组。所以你错了。

传递给new Array()的任何参数都是新创建的数组中的元素。你可以做的只是使用number_arr:Array = searched_number.returnSeach()

除了其他一切看起来很好,你应该没有问题访问你的类返回的数组。

答案 1 :(得分:0)

cReturn在返回之前没有填充。

所采取的步骤是:

  1. 公共功能searchNum(在数据库中搜索所需信息)
  2. public function returnSearch(返回名为cReturn的数组中的数据库结果)
  3. public function loader_complete(将数据库信息加载到cReturn数组中)
  4. 我想要它做的是:

    1. 公共功能searchNum(在数据库中搜索所需信息) ** 2。 public function loader_complete(将数据库信息加载到cReturn数组中)
    2. public function returnSearch(返回名为cReturn的数组中的数据库结果)**
    3. 我必须在我的loader.complete方法(Pcnsearch.as类)中使用dispatchEvent,并在main.as脚本中使用eventListener。

      感谢您的帮助。