 <p>This is the Delegate Design Pattern. Basically the UITableView instance in your UIViewController class asks your view controller to provide a UITableViewCell for the specified index. So let's say you have an array of songs in your view controller and you want them to appear in the table view. Then you would create a new UITableViewCell, set it's textLabel.text to the title of the song at the specified index (indexPath.row) and return the cell. Because you are supposed to reuse UITableViewCells for performance reasons, I recommend reading the Table View Programming Guide in the documentation, especially <a href="http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/CreateConfigureTableView/CreateConfigureTableView.html#//apple_ref/doc/uid/TP40007451-CH6-SW11" rel="nofollow">Populating a Table View</a></p>