Chapter 2. A More Flexible Generic Controller

In This Chapter

  • Understanding the limitations of the WebViewController implementation

  • Using delegation to encapsulate the model objects

  • Creating your very own protocol

  • Keeping file loading from stopping your application dead in its tracks

As you discovered at the close of the preceding chapter, after you add multiple objects of the same type to your app mix, the techniques you've been using all along to create a generic controller just stop working. In this chapter, I show you how to accomplish what you're after by using delegation instead.

It turns out that delegation, as you probably have noticed, is used often in the framework. In fact, as you'll see, it's also used in the next chapter when I show you the preferred way to deal with downloading data — the URL loading system. This chapter, then, not only shows you how to implement a more sophisticated version of your generic WebViewController, and shows you how to take advantage of delegation in your own applications, but also serves to provide the background you need to have in order to make it easier for you to use the asynchronous version of the URL loading system.

Seeing How the Old School Generic Controller Worked

To refresh your memory, you implemented your generic controller by sending a selector to the WebViewController that the WebViewController would have the Trip object perform in order to return the WebView Controller an NSURLRequest object based on the data that the user was interested ...

Get iPhone® Application Development All-In-One For Dummies® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.