不知是否是使用问题,fixedPriorityListeners访问越界
应该是遍历Listener的时候释放了Listener本身造成的,是否是我使用不当
贴代码。最好不要在使用的过程中删除自己。
事件处理是MVC的基础,简单的代码也不会出现这种问题,我的代码过于复杂,所以都无法查到是哪里释放的。但是作为引擎本身应该考虑在遍历过程出可能出现的监听者数组出现变化的问题。
另外楼上版主说的“不要删除自己”也不贴切的,这里的调用者,也就是“自己”应该是事件本身,是没有被删除的,被删除的是监听者。从设计模式的角度看,事件本身是不能控制事件监听者的生命周期的
