添加到ArrayCollection或从ArrayCollection中删除时,它是否始终生成ADD或REMOVE CollectionEvent?

时间:2013-10-21 22:21:20

标签: actionscript-3 flex events collections

我正要为我的一个ArrayCollections添加一个事件监听器,如下所示:

m_acElements.addEventListener(CollectionEvent.COLLECTION_CHANGE,
        onCollectionChange);

在开始编写onCollectionChange函数时,我引用了有关CollectionEvent.kind的API参考,其中指出:

"Indicates the kind of event that occurred. The property value can be one of the
values in the CollectionEventKind class, or null, which indicates that the kind
is unknown."

这太吓人了。当 这种类型未知时,并没有很多关于的说法,并且在其他地方四处寻找指示并不是很明显。

我在这里没有做任何异国情调。是否有某种保证,然后对AddItem和AddItemAt的非错误引发调用将产生ADD事件,而removeAll和removeItemAt将产生REMOVE事件?或者这不是完全可靠的?

我想我可以在必要时覆盖子类中的那些方法,但我宁愿被告知我是偏执狂。另外,我只是想了解何时使用CollectionEvents注意这一点。谢谢!

1 个答案:

答案 0 :(得分:1)

你在这里反应过度了。只是Adobe对其代码文档过于详细。如果未设置kind或发生未知类型,则该值为null。如果有人手动调度事件,有人忘记设置类型,或者某人没有正确扩展事件,则会发生这种情况。 Adobe的文档几乎总是非常彻底。他们很少超出预期。这只是他们彻底并涵盖所有基础。如果Adobe的代码有可能调度具有不同/未知类型的事件,那么它们将为它提供另一个常量(这就是Adobe的Flash开发团队的工作方式)