坑啊!!耽误我好久才发现
本来要写个观察者模式的例子,结果因为这点小事 耽误了很长时间,mmp!
原因是:remove对象要是同一个!!这里主要怪自己粗心大意,希望有同样遭遇的想伙伴可以以此为鉴不要犯这种低级错误。。。
改动前删除无效的代码:
car.add(Man()) //这里的Man() 相当于 new了一个新对象
car.add(Woman())
car.remove(Man()) //这里的Man() 也相当于 new了一个新对象 所以删除的根本不是一个对象!!!!!当然无效!!
car.mnotify()
改动后代码正确代码
val man = Man()
val woman = Woman()
car.add(man)
car.add(woman)
car.remove(woman)
car.mnotify()