title: What does registerHTTPOperationClass in AFNetworking actually do?
body: <p>I am trying to understand how the <code>AFNetworking</code> Framework works. But there is little detail I do not understand. </p>
  
  <p>I wrote a subclass of <code>AFHTTPclient</code> than made it a singleton class and added a Initializer that does the following :</p>
  
  <pre><code>- (id)initWithBaseURL:(NSURL *)url {
      self = [super initWithBaseURL:url];
      if (self) {
          [self registerHTTPOperationClass:[AFJSONRequestOperation class]];
      }
      return self;
  }
  </code></pre>
  
  <p>I got this code from a tutorial I found on the internet, but I do not understand why I have to register my class for <code>JSONRequestOperation</code> if I want to get JSON Data back? What exactly happens under the hood if I am doing so? What does the <code>registerHTTPOperation</code> class exactly do?  </p>
  
  <p>PS: Is there a good documentation with examples and in-depth explanations of <code>AFNetworking</code> somewhere on the internet? </p>