草庐IT

setNeedsReload

全部标签

ios - 在 Cocoa Touch 中实现去抖动/合并模式,例如 `layoutSubviews`

许多CocoaTouch类利用合并事件的设计模式。例如,UIViews有一个方法setNeedsLayout,它会在不久的将来调用layoutSubviews。这在许多属性影响布局的情况下特别有用。在每个属性的setter中,您可以调用[selfsetNeedsLayout]这将确保布局将被更新,但如果同时更改多个属性甚至会阻止对布局的许多(可能昂贵的)更新如果在运行循环的一次迭代中多次修改单个属性。其他昂贵的操作,如setNeedsDisplay和drawRect:这对方法遵循相同的模式。实现这种模式的最佳方法是什么?具体来说,我想将一些依赖属性绑定(bind)到一个昂贵的方法,如果