В Xcode перейдите в File-> New File и выберите класс Objective C, затем в раскрывающемся списке выберите его как подкласс UITableViewCell. Назовите его MyCell (например)
Далее в конструкторе интерфейсов создайте новый XIB и измените его владельца на вновь созданный класс. Вы также можете удалить вид по умолчанию и добавить UITableViewCell. Установите выходную точку представления владельца для этой новой ячейки таблицы. Затем добавьте все, что вы хотите, в UITableViewCell.
Затем создайте новый UIViewController (который может быть полезным для создания нового UITableViewController, а затем измените его тип на UIViewController, чтобы вы получили все добавленные для вас методы UITableViewDelegate) и выберите добавление файла XIB для UIViewController. Откройте файл заголовка для вновь созданного UIViewController и добавьте протокол UITableViewDelegate, чтобы заголовок мог выглядеть так:
@interface MyViewController: UIViewController <UITableViewDelegate, UITableViewDataSource>
В представлении для контроллера представления (в конструкторе интерфейсов) добавьте UITableView, а затем установите его источник данных и делегатов владельцу. Обязательно импортируйте файл заголовка MyCell.h. Затем реализуйте tableViewMethods, в частности, для вашего UITableViewCell, вы бы сделали что-то вроде этого:
- (UITableViewCell *)tableView:(UITableView *) tableView
cellForRowAtIndexPath:(NSIndexPath *) indexPath
{
static NSString *MyCellIdentifier = @"MyCellIdentifier";
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:MyCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
//Here you would set properties of the cells items like labels, etc.
return cell;
}