听众对象未被破坏

2次观看(最近30天)
Mathijs Verhaeghe“class=
Mathijs Verhaeghe 2020年3月11日
回答: Stefanie Schwarz 2020年8月11日
我对班级句柄有疑问。addlistener。
我知道,当源事件对象被破坏时,该类的对象被破坏。如果您查看下面的代码,应该期望“ v”返回“删除侦听器”。我的推理是错误的,还是其他地方有缺陷?

答案(2)

Sai Veeramachaneni“class=
Sai Veeramachaneni 2020年3月17日
AddListener方法返回类型侦听器的对象。在句柄的文档中。单位列表。
听众 方法不会将侦听器的生命周期绑定到事件源的对象。破坏事件源对象不会影响侦听器对象的生命周期
因此,当删除源对象时,预计不会破坏侦听器对象。
1条评论
哈里·迪蒙德“class=
哈里·迪蒙德 2020年7月4日
但是OP使用了功能 AddListener , 不是 听众
AddListener 应该创建一个侦听器,其生命周期与正在聆听的对象绑定。从您链接的第一页:
AddListener 将听众的生命周期与事件来源的对象联系起来。”
“ AddListener在侦听器和事件源对象之间创建一个耦合。侦听器对象一直持续到删除它或直到事件对象被破坏为止。事件源对象被销毁时,MATLAB®会自动破坏侦听器对象。”
因此,除非我缺少某些内容,否则OP的示例是一个错误,因为该行为直接违反了预期的已记录的行为。

登录发表评论。


社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!