Build a Blog Reader iPhone App

Level
Logo Treehouse
Provider rating: starstarstarstarstar 9.5 Treehouse has an average rating of 9.5 (out of 4 reviews)

Need more information? Get more details on the site of the provider.

Starting dates and places

This product does not have fixed starting dates and/or places.

Description

The Blog Reader app will teach us one of the most common and important needs when creating an app: downloading data from the Internet and displaying it in a list. We will investigate the Model-View-Controller design pattern (MVC) that is essential for all iPhone apps, learn how to request data from the web, parse and use information in JSON format, and utilize the built-in UITableViewController to display a list of blog post titles and thumbnails. We'll also see how to display a webpage inside our app.

  • Exploring the Master-Detail Template

    Xcode’s Master-Detail template makes it easy to create an app that displays a list view along with a detail view. We will look at all the code generated b…

  • Read the complete description

    Frequently asked questions

    There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

    Didn't find what you were looking for? See also: Blogging, WordPress, C/C++, Hour of Code, and Mobile App Development.

    The Blog Reader app will teach us one of the most common and important needs when creating an app: downloading data from the Internet and displaying it in a list. We will investigate the Model-View-Controller design pattern (MVC) that is essential for all iPhone apps, learn how to request data from the web, parse and use information in JSON format, and utilize the built-in UITableViewController to display a list of blog post titles and thumbnails. We'll also see how to display a webpage inside our app.

    Exploring the Master-Detail Template

    Xcode’s Master-Detail template makes it easy to create an app that displays a list view along with a detail view. We will look at all the code generated by the template and learn about table view controller, delegate and datasource.

    View Stage

    Rebuilding from Scratch

    Time to ditch the template code and recreate the master-detail app from scratch. Rebuilding allows us to learn the fundamental design pattern known as Model-View-Controller (MVC). In addition, we will learn about the view controller lifecycle and how to connect view elements on the storyboard to our code.

    View Stage

    Getting Data from the Web

    Learn how data can be requested from a web service, parsed and then stored. We will learn how to access data in the JSON format which involves downloading and parsing it. Once parsed, the data needs to be stored in a collection object such as a dictionary.

    View Stage
    • Stage Coming Soon

    Data Modeling

    The advantage of object-oriented programming is the ability to model your data after real-world objects. Parsing the JSON data gave us a better understanding of its structure. We can now create a custom class to represent an individual blog post. The custom class will serve as a concrete representation of a blog post and will make our code manageable and readable.

    • Stage Coming Soon

    Adapting Data for Display

    The downloaded data needs to be neatly displayed in the table view. Each row will show the blog post title, author and thumbnail, which involves customizing the table view cell to accommodate all the three elements.

    • Stage Coming Soon

    Viewing a Webpage

    Upon selecting a blog post from the list the user is taken to a detail view where they can read the entire blog post. The blog post is simply a web page which can be displayed with the help a special view known as a web view of the class UIWebView.

    There are no reviews yet.

      Share your review

      Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

      There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.