在objective-c中合成属性自动触发didChangeObjectForKey:?

时间:2013-01-10 18:24:15

标签: objective-c macos cocoa

我已经尝试过多次搜索,但似乎没有一个明确的答案。

如果我的课上有一个合成属性(称之为ClassA),我可以使用KVO观察它并获得我期望的结果吗?

例如,在ClassA.h中我有:

@property myProperty;

在ClassA.m中我有:

@synthesize myProperty;

在另一堂课中,我观察了这个属性:

[instanceOfClassA addObserver:self
                   forKeyPath:@"myProperty"
                      options:NSKeyValueObservingOptionNew
                      context:nil];

我没有为属性实现任何自定义getter或setter,它使用的是默认实现。 (我知道我总是可以实现自定义getter / setter并调用willSetValueforKey:一个didSetValueForKey:我自己)

1 个答案:

答案 0 :(得分:4)

是的,它会!!!!

但你需要使用...... self.property

_property绕过KVC。