1
当一个对象释放时需要运行一些代码。例如,我建立了一个观察者,当对象B的名字改变时,它更新标签A的文本。当标签A的保留计数达到0时,我想从B中删除观察者。如何在一个对象释放时运行一些代码dealloc
可能的解决方案: 1子类并在dealloc中调用clean代码。
2创建一个包装类,它能够在dealloc中运行任意代码并将该对象与标签A关联。当获得dealloc时,关联的对象也会获得dealloc(假设只有A拥有强引用),那么代码被调用。
我不喜欢第一个,因为它是如此的侵入性,使它几乎没用,只需要子类只是为了一些容易的东西。所以我使用2号。
你有什么意见吗?你怎么做呢?
听起来好像没有这些对象是控制器,通常一个控制器会执行这种角色。 – Wain