Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173912
  • 博文数量: 51
  • 博客积分: 2302
  • 博客等级: 大尉
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-12 17:47
文章分类

全部博文(51)

文章存档

2010年(6)

2009年(45)

分类: 系统运维

2010-07-01 11:47:06

直接用ArrayCollection()强制转换,不要用new ArrayCollection()。用new ArrayCollection()会出错,出错信息:强制转换类型失败:无法将 mx.collections::ArrayCollection@5d89481 转换为 Array。

另外,如果通过HTTPService获取到的XML中只有一条数据,例如:


16
2010/03/19
内容


就不能使用var myData:ArrayCollection = ArrayCollection(event.result.tips.tip)
这种方法创建ArrayCollection
要这样:
var data:Array = new Array({no:event.result.tips.tip.no,date:event.result.tips.tip.date, content:event.result.tips.tip.content}); --貌似有问题!
myData = new ArrayCollection(data);


通过调试,可以看到如果返回的是多条记录,event.result.tips.tip是ArrayConlection类型的,
而如果只有一条记录,就是ObjectProxy类型的。见图:





参看ArrayConlection的构造函数:
public function ArrayCollection(source:Array = null)
其参数是Array类型的,所以,只有一条记录的时候当然会出错了。
阅读(981) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~