title: AFnetworking Vs dispatch_aync() Vs SDWebImage Framework
body: <p>I am new to iOS programing.</p>
  
  <p>I have a requirement where I have to do server calls many times giving large JSON and then parsing and showing in <code>TableView</code>/<code>Collection</code>/<code>View</code> <code>Controllers</code>.</p>
  
  <p>And I have to download Images inside <code>Collection Grid View</code> and <code>UITableView</code>, thereby starting/cancelling downloading of images on user scrolling.</p>
  
  <p>So </p>
  
  <p>Q1) For image downloading in Table View/Grid View I am thinking to use Apple Table Lazy Loading Sample + replacing Icon Downloader with that of <code>SDWebImage</code> as mentioned here in link several problem in that Apple sample and via <code>SDWebImage</code> I can config <code>cache</code> as per my requirement.</p>
  
  <p><strong>EDIT:</strong> Basically I would like to have a very transparent way to get images from a url, so first look for them in a NSCache, if not found look on disk (or Core Data)l if not found again download async and then again save in cache as well.I guess SDWebImage provides this but for AFNetworking i have to look inside code and modify it.</p>
  
  <p><a href="https://stackoverflow.com/questions/14400378/ios-lazy-loading-of-table-images">iOS lazy-loading of table images</a></p>
  
  <p>Q2) For server calls and <code>JSON</code> parsing, whether I should go for using <code>dispatch_async</code> and then parse <code>JSON</code> using <code>NSJSONSerialization</code> or I should go for using <code>AFNetworking</code> for this</p>
  
  <p>Disadvantage of using <code>AFNetworking</code> lib is that I need only server call and parsing no other functionality..and for this reason if I would be going for this lib this would increase app size by 1.4 MB as I am already adding <code>SDWebImage</code> framework (>3 MB).</p>
  
  <p>This is what I found after lot of googling.
  Please suggest if I am missing something...and any other approach I should follow.</p>