我正在为 Mac OS X 编写一个程序,遇到了以下问题:
在我的一个类中,有许多布尔属性,可以使用 KVO 访问(即通过valueForKey:
andsetValue:forKey:
方法。它们的数量可能会增长。
每次我设置其中一个属性时,我都需要更改上次修改的日期,这也是一个属性。所以我最终不得不为每个新属性编写一个新的设置器。
我想做的是重写该方法,以便它设置相应的属性和最后一次修改的日期,但如果没有 a) 将s 添加到方法setValue:forKey:
中,我无法弄清楚如何做到这一点(检查键名并设置对应的);b) 不会陷入无限循环。if
setValue:forKey:
_variable
有没有办法做到这一点?或者这完全是个坏主意?