This is more of a theory question than a programming question. As you know when you instantiate a table view in iOS, you have to account for dequeuing and reusing table cells, when they are scrolled in and out of view. 

The confusing thing to me is, all the data that populates the cells is cached anyway. When you look at a web page in safari, you are scrolling past a lot more images and text that remains after you scroll past it. I have iOS games installed that use many times more data (e.g., Asphalt 6) than a simple table. So I'm just curious why Apple goes to the trouble of dequeuing and reusing table cells. Thanks.
['https://Stackoverflow.com/questions/11460929', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/591487/']
It's not about the amount of data in the model. It is more so about the amount of memory that is used in creating the Cell views. If I have a table that is going to create over 1000 `UITableViewCell` objects, why would it create them all when only about a dozen or so can appear on the screen? Don't just think about the data that is held and being displayed, think about the memory that is taken up in the objects that are displaying the data, the `UITableViewCell`s.
It's just good memory management. There's no telling how big a table could be, so better safe than sorry. You only ever need the memory for however many cells fit in a view.