I got some great feedback on my first screencast - thank you! A few of you asked: how can you show a different view for each of the rows in the table view, instead of just showing the same view for each row?
I can think of a couple of ways to do this. One is to create different view for each row by creating a separate class for each type of view you want to display, and then select the specific view to display in tableview:didSelectRowAtIndexPath: in the BooksTableViewController depending on which row is selected.
As another option, I decided to use the same view, the BookDetailView, but customize the view with a different image for each book. To do this, I created a new model class, BooksModel, and stored the titles of the books, and images for each book in this class. Then, based on the row selected, I set the appropriate image in the view (from tableview:didSelectRowAtIndexPath: when the view controller for the detail view is created) before displaying the view.
Here's a new screencast that expands on the previous O'Reilly Books example. I have also attached the updated code below. I hope this answers your questions, and if you have any feedback, please do leave a comment.
Or, to follow along more closely with the code, Click here to view or download the original high resolution .mov file. [155 Mb]
Update: Here's the downloadable code sample