在Flex中对.contains()
使用ArrayCollection
时,它将始终查看内存引用。它看起来似乎不是.equals()
方法或.toString()
方法或任何可重写的方法。相反,我需要每次遍历ArrayCollection
并检查每个单独的项目,直到找到所需的内容。
有谁知道为什么用这种方法制作Flex/ActionScript?为什么不提供人们以他们想要的方式使用contains()
方法的方法?
最佳答案
您不能只是扩展ArrayCollection并覆盖contains()方法吗?或者,您可以将ArrayCollection的源粘贴到项目中的“mx/collections”包中,然后修改源;这种“猴子修补技术”将覆盖整个项目中的行为。但是,我对于以这种方式更改ArrayCollection会非常谨慎:由于Flex API的各处都使用了ArrayCollection,因此很有可能开始破坏框架中的其他组件。
关于apache-flex - 为什么Flex的ArrayCollection的Contain方法查看内存引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/389846/