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 ...