P559 Contradictory statement KVO


On p559, discussing KVO for isExecuting and isFinished, you state “NSOperation is KVO compliant…except NSOperation disables it”. So then it’s NOT KVO compliant. Because by default it’s not, or because of something we wrote in our SnarfOperation class? Wouldn’t it be better to say NSOperation is not KVO compliant for isExecuting and isFinished (and whatever other properties are blocked)?


Yeah, the whole thing is confusing (as is the prose in that paragraph - it’s terrible!)

Basically you’re right it’s not really KVO compliant, in the aspect that it’s not automatically generating the observation notifications when setting isExecuting / isFinished. There’s probably a good reason for that, but I don’t know what it is. That’s why automaticallyNotifyObserversForKey is overridden.