我正在创建一个允许用户在文件中创建,编辑和保存对象的空中应用程序。如果用户在关闭之前没有将更改保存到对象,我正在尝试实现“保存关闭”提示。
假设我有一个名为MyBlass的类标记为Bindable,它由字段组成,每个字段都暴露一个getter和setter。其中一些字段是自定义类的ArrayCollections。我想考虑更改对任何字段的更改,或父对象组成的任何数组集合中任何对象中的任何字段。
我可以在MyClass对象上调用setter时手动调度一个事件并手动管理这个事件,但是我还必须在应用程序逻辑中的一堆地方执行它,例如当用户更改一个时包含它的一个数组集合中的自定义对象。这是一个很好的解决方案,但有点脏,难以维护。我还可以根据我在启动或上次保存时制作的副本来检查当前对象,但我不喜欢为此加倍内存占用的想法。
我希望有一些事件,也许是绑定广播的事件,我可以在一个地方收听并管理我的“已保存”变量。这样的事情存在吗?我试着监听绑定显然发送的dataChange事件,但我做错了,或者它没有做我认为应该做的事情。有更好的选择吗?
由于