2011-11-28 34 views
3

我想在每次设置属性时向委托生成报告。在重新使用默认实现时实现@property的自定义设置器

我认为这样做的方法是在属性设置器中简单地将消息添加到委托中。

现在,显而易见的方法是简单地编写设置属性的常用逻辑,并在最后添加委托调用 - 但这种感觉很愚蠢。

我希望能够在开始时调用某种[super setProperty],并且只在最后添加自己的逻辑。 (但超级当然没有意义)

这样,如果我将属性类型从'assign'更改为'retain',我不需要更改setter代码。

这样做的任何方式?如果没有 - 对于显而易见的方式有更好的建议吗?

回答

4

Key value observation

你的“代理”对象可以注册以接收通知,当你的对象更改的属性。合成的setter符合KVO标准。