title: Get an object properties list in Objective-C
body: <p>How can I get a list (in the form of an <code>NSArray</code> or <code>NSDictionary</code>) of a given object properties in Objective-C?  </p>
  
  <p>Imagine the following scenario: I have defined a parent class which just extends <code>NSObject</code>, that holds an <code>NSString</code>, a <code>BOOL</code> and an <code>NSData</code> object as properties. Then I have several classes which extend this parent class, adding a lot of different properties each.  </p>
  
  <p>Is there any way I could implement an instance method on the <em>parent</em> class that goes through the whole object and returns, say, an <code>NSArray</code> of each of the (child) class properties as <code>NSStrings</code> that are <em>not</em> on the parent class, so I can later use these <code>NSString</code> for KVC?</p>