title: Sending message to objectForKey to NSMutableArray instance, And it works!! Strange?
body: <p>I have a very bad code written in my program, was just playing around as I am learning Objective C and iOS platform. What I did is,</p>
  
  <p>I have created <code>NSMutableArray</code> like this,</p>
  
  <pre><code>placeInfo = [NSMutableArray array];
  </code></pre>
  
  <p>and than later in my code I am doing something like this, basically I am manipulating Google places api response(JSON).</p>
  
  <pre><code>NSDictionary *results = [responseString JSONValue];
  placeInfo = [results objectForKey:@"result"];
  self.phoneNumber = (NSString *)[placeInfo objectForKey:@"formatted_phone_number"]; // In this line compiler warns me that NSMutableArray might not response to this.
  </code></pre>
  
  <p>I checked documentation but I didn't find objectForKey in <code>NSMutableArray</code>.</p>
  
  <ul>
  <li><strong>So what could be the reason? Why my code isn't crashing? Why it is returning phone number by "formatted_phone_number" key?</strong></li>
  </ul>
  
  <p><strong>EDIT</strong></p>
  
  <p>After first answer I have edited my code and added type casting like this, but it still works.</p>
  
  <pre><code>NSDictionary *results = [responseString JSONValue];
  placeInfo = (NSMutableArray *)[results objectForKey:@"result"];
  self.phoneNumber = (NSString *)[placeInfo objectForKey:@"formatted_phone_number"];
  </code></pre>