最好是创建单个对象事件而不是总是创建另一个?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最好是创建单个对象事件而不是总是创建另一个?相关的知识,希望对你有一定的参考价值。
通常在调度Event(或自定义事件)时,我使用:
function fireEvent():void {
dispatchEvent(new Event(Event.COMPLETE));
}
最好每次都使用单个对象来发送事件吗?我可以这样做吗?
var myEvent:Event = new Event(Event.COMPLETE);
function fireEvent():void {
dispatchEvent(myEvent);
}
答案
如果它有效,它会更好(例如创建事件池)。不幸的是,AS3在事件流程中对事件对象做了一些内部魔术,这使得对象只能使用一次(很抱歉,由于某些原因我无法快速找到证据)。
您可以通过第二次调度事件轻松获得确认,您的侦听器将不会被触发(可能仅适用于冒泡功能,而不是完全记住),因此您必须为每个dispatchEvent
调用创建一个新的事件对象实例。
另一答案
我认为即使汇集工作也不值得。在astionscript中创建事件对象并不昂贵,添加事件侦听器也是如此。你最好把这些努力放在管理听众和处理程序上,这很容易成为性能上的扼杀者。
以上是关于最好是创建单个对象事件而不是总是创建另一个?的主要内容,如果未能解决你的问题,请参考以下文章
如何创建一个将由事件侦听器调用的单个函数,而不是每个不同按钮的函数?
NSFetchedResultsController 总是返回 NSManagedObject 对象而不是自定义