title: Which all are class are not KVO compliant?
body: <p>Below two different paragraphs from Apple docs. In one paragraph, it says all class which inherits from NSObject to use KVO, is KVO compliant. In the second paragraph, it says not all classes are KVO compliant. Which are those classes which not KVO compliant? Is there any class which does not inherit <strong>NSObject</strong>? Whereas I know all inherit from <strong>NSObject</strong>.</p>
  
  <p>It would ideal to give an example, to understand the difference between the two paragraphs.</p>
  
  <blockquote>
    <p>To use KVO, first you must ensure that the observed object, the
    Account, in this case, is KVO compliant. Typically, <strong>if your objects
    inherit from NSObject and you create properties in the usual way, your
    objects and their properties will automatically</strong> be KVO Compliant. It
    is also possible to implement compliance manually. KVO Compliance
    describes the difference between automatic and manual key-value
    observing, and how to implement both.</p>
  </blockquote>
  
  <p>and</p>
  
  <blockquote>
    <p>Important: <strong>Not all classes are KVO-compliant for all properties. You
    can ensure your own classes are KVO-compliant</strong> by following the steps
    described in KVO Compliance. Typically properties in Apple-supplied
    frameworks are only KVO-compliant if they are documented as such.</p>
  </blockquote>