Now that we’ve gotten our feet wet with the basics, it’s time to add more pieces to the puzzle.

First and foremost, we’ll learn about the second most important design pattern in iOS app development, which forms the basis for how most user interaction and application event workflows are accomplished in the most efficient, most logical way.

From there, we dive into the pool of common controls that the framework makes available, looking at examples of how each is used in the default Apple apps.

And finally, we do a deep dive into one of the most often used user interface components in the iOS toolbox, the tableview. We look at the methods by which tableviews are populated with data, whether static or dynamic, and explain the measures the operating system takes to most efficiently utilize system resources with data-intensive tableviews, and to keep tableviews fed with remote data such that the user doesn’t have the bad experience of delays and empty table rows as they scroll.

And, of course, we continue looking at examples of real-world experiences and challenges that developers run into when working on teams.