Uploaded November 2012 | Updated September 2026, 2 weeks ago
Subscribe to our channel here for notifications on new video trainings. For more videos on technology, visit our website at http://www.techytube.com.
By pavel@techytube, for more from this author visit:
techytube.com/author/pavel
The UITableViewDataSource protocol is usually implemented by an ViewController class that mediates the application's data model for a UITableView object. The data source provides the table view object with the information it needs to construct and modify a table view.
As a representative of the data model, the data source supplies minimal information about the table view's appearance. The table-view object's delegate—an object adopting the UITableViewDelegate protocol—provides that information.
The two required methods of the protocol provide the cells to be displayed by the table-view as well as inform the UITableView, and they should look as below:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
return cell;
}
We can also set the cell's properties, for example:
cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
Many methods take NSIndexPath objects as parameters. UITableView declares a category on NSIndexPath that enables you to get the represented row index (row property) and section index (section property), and to construct an index path from a given row index and section index (indexPathForRow:inSection: class method). (The first index in each index path identifies the section and the next identifies the row.)
For more, please visit Apple's online documentation at:
developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html
Subscribe to our channel here for notifications on new video trainings. For more videos on technology, visit our website at http://www.techytube.com.
By pavel@techytube, for more from this author visit:
techytube.com/author/pavel
The UITableViewDataSource protocol is usually implemented by an ViewController class that mediates the application's data model for a UITableView object. The data source provides the table view object with the information it needs to construct and modify a table view.
As a representative of the data model, the data source supplies minimal information about the table view's appearance. The table-view object's delegate—an object adopting the UITableViewDelegate protocol—provides that information.
The two required methods of the protocol provide the cells to be displayed by the table-view as well as inform the UITableView, and they should look as below:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
return cell;
}
We can also set the cell's properties, for example:
cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];
Many methods take NSIndexPath objects as parameters. UITableView declares a category on NSIndexPath that enables you to get the represented row index (row property) and section index (section property), and to construct an index path from a given row index and section index (indexPathForRow:inSection: class method). (The first index in each index path identifies the section and the next identifies the row.)
For more, please visit Apple's online documentation at:
developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html










