+1  A: 

You don't load 60-70 view controllers. You only have the number of view controllers on the screen, and when the view scrolls (say) down, you take the controller at the top, change the graphic for one you have stored and put it at the bottom.

The others you are loading you can download in the background. You don't need core data (although you can use it if you want to).

Have a look at the apple videos on scroll views, they cover this.

Woody
Thanks Woody - are you referring to WWDC10 videos?
mvexel
I don't have iTunes here, but there are a set of earlier WWDC (maybe 08) that conver it in depth.Have a watch of the videos on table views, they go into it in depth and are very easy to follow, with demonstrations of concepts and code required.
Woody
What I ended up doing is somewhat similar but I am not sure if the results are the same. What I do now is keep a set of integer variables minVisibleColumn, maxVisibleColumn, minVisibleRow and maxVisibleRow in the view controller that manages the scroll view. These get updated in scrollViewDidScroll: . The Cover objects (which manage the individual views on the scroll view) are assigned a row and column when they are initialized and observe these values. They then add and remove themselves from the scroll view depending on visibility.Does that make sense as a solution?
mvexel
A: 

This is how I did this. I only showed 3 UIView's at the time and every time the user goes forward I unload the first UIView and load a new UIView. The user doesn't notice this, because the next screen and previous screen are always loaded (3 UIViews)

Tim van Elsloo