【发布时间】:2011-09-28 05:03:54
【问题描述】:
我喜欢读写属性的一点是,您可以“免费”获得 KVO 合规性,因此我倾向于在属性上使用它,即使它们只是从属性所属的对象中写入。另一方面,我知道只有在打算由其他对象写入时,才应将属性设置为 readwrite。所以,即使我只从自己调用 setter,我是否应该使用 readwrite:
[self setFoo:bar];
替代方案(我认为)是使用:
[self willChangeValueForKey:@"foo"];
foo = bar;
[self didChangeValueForKey:@"foo"];
这是我每次想要更改 foo 时都必须编写的额外两行代码。哪个更好?
【问题讨论】:
标签: cocoa