You want to use UITableViewControllerwith partitions set as UITableViewStyleGrouped.
Each of the groups is a section, so you will want to return the number of sections with - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView.
For each section, you want to indicate how many lines there are with - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section.
You want to customize each cell with - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath(which, by the way, tells you how much of a particular row you are changing in a variable indexPath).
, - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath, XCode :
[self.navigationController pushViewController:detailViewController animated:YES]
[detailViewController release]
, !