title: What are good tactics to do function extraction in Objective-C to create clean code?
body: <p>In the book <a href="https://rads.stackoverflow.com/amzn/click/com/0132350882" rel="nofollow noreferrer" rel="nofollow noreferrer">Clean Code</a> the author recommends breaking large methods into small functions that do one specific thing. In languages like Java this translates to pretty, readable code.</p>
  
  <pre><code>public static String renderPage(PageData pageData)
  {
      includeHeader(pageData);
      includeContent(pageData);
      includeFooter(pageData);
      return pageData.getHtml();
  }
  </code></pre>
  
  <p>However in Objective-C as far as I know the only way to implement functions like this are to create private methods and call them by messaging <code>self</code> </p>
  
  <pre><code>- (NSString *)renderPageWithData:(PageData *)pageData {
      [self includeHeader:pageData];
      [self includeContent:pageData];
      [self includeFooter:pageData];
      return [pageData HTML];
  }
  </code></pre>
  
  <p>I feel like messaging <code>self</code> implies some sort of operation that the object is doing to itself. C functions aren't really an option because the don't fall under the scope of the class. Meaning I can't access any of the instance variables or the class object with out doing extra legwork, and adding complexity.</p>
  
  <p>I'm looking for a good way to create clean code with regard to functions or methods in Objective-C </p>