Я бы настроил NSMutableArray объектов, которые представляют строки вашей таблицы. Вы можете использовать свой собственный класс или NSDictionaries, по одному на строку. Моя реализация источника данных (протокол UITableViewDataSource) -tableView: cellForRowAtIndexPath: установит содержимое каждой ячейки (будь то строки, изображения или что-либо еще) в соответствующий объект NSMutableArray. Моя реализация делегата (протокол UITableViewDelegate) -tableView: didSelectRowAtIndexPath: будет вызываться всякий раз, когда выбирается строка, а предоставленный NSIndexPath будет указывать на индекс соответствующего объекта в NSMutableArray.
По сути, просто реализуйте UITableViewController, который по умолчанию является как источником данных, так и делегатом табличного представления, поместите объекты, которые необходимо «показать» в таблице, в NSMutableArray и реализуйте -tableView: numberOfRowsInSection :, -tableView: cellForRowAtIndexPath: и -tableView: didSelectRowAtIndexPath: самым простым способом. Первый метод возвращает количество строк в разделе, второй настраивает ячейку для каждой строки, третий отправляется при выборе строки.