/cp-rottentomatoes

Codepath Week 1: Rotten Tomatoes App

Primary LanguageObjective-C

Rotten Tomatoes

This is a movies app displaying movies and DVDs using the Rotten Tomatoes API.

Displayed movies = box office movies. Displayed DVDs = current releases.

Time spent: 7hr

Features

Required

  • User can view a list of movies. Poster images load asynchronously.
  • User can view movie details by tapping on a cell.
  • User sees loading state while waiting for the API.
  • User sees error message when there is a network error: http://cl.ly/image/1l1L3M460c3C
  • User can pull to refresh the movie list.

Optional

  • All images fade in.
  • For the larger poster, load the low-res first and switch to high-res when complete. [NOTE: I'm not 100% sure how to do this, but I managed to do this by just calling setImageWithURL 2x... :/]
  • All images should be cached in memory and disk: AppDelegate has an instance of NSURLCache and NSURLRequest makes a request with NSURLRequestReturnCacheDataElseLoad cache policy. I tested it by turning off wifi and restarting the app.
  • Customize the highlight and selection effect of the cell.
  • Customize the navigation bar.
  • Add a tab bar for Box Office and DVD. [NOTE: Still missing custom icons]
  • Add a search bar: pretty simple implementation of searching against the existing table view data.

Walkthrough

Video Basic Video Network Error Video Movie Detail View

Credits