iPhone: как использовать UITableViewCell в двух табличных представлениях - PullRequest
5 голосов
/ 20 января 2012

У меня есть 2 класса, которые наследуют UITableViewControllers. И эти два табличных представления должны использовать один и тот же пользовательский UITableViewCell. Итак, как я могу использовать Custom UITableViewCell из Nib-файла в двух разных классах? Владельцем сиб может быть только 1 класс.

@interface Class1 : UITableViewController<UITableViewDataSource,
    UITableViewDelegate> {
UITableViewCell *myCustomTableRow;
}

@property (nonatomic, retain) IBOutlet UITableViewCell *myCustomTableRow;





@interface Class2 : UITableViewController<UITableViewDataSource,
    UITableViewDelegate> {
UITableViewCell *myCustomTableRow;
}

@property (nonatomic, retain) IBOutlet UITableViewCell *myCustomTableRow;

Ответы [ 3 ]

3 голосов
/ 20 января 2012

Создайте подкласс UITableViewController, скажем CommonTableView.Сделайте это как владелец файла пера.Затем наследуйте два класса, которые вы хотите реализовать от CommonTableView Class.Это будет хорошо работать.

0 голосов
/ 20 января 2012

Использование UINib класс . Это позволяет создавать экземпляры без родительского элемента, а также повышает производительность за счет кэширования содержимого файла пера.

@interface Class1 : UITableViewController<UITableViewDataSource, UITableViewDelegate> {
    UINib *myCustomCellNib;
}

... и аналогичная вещь для Class2. Затем в viewDidLoad

myCustomCellNib = [UINib nibWithNibName:@"myCustomCellNibName" bundle:nil];

затем при создании ячейки:

NSArray* objects = [myCustomCellNib instantiateWithOwner:nil options:nil];
// given that your cell is defined as a first object in your nib
cell = [objects objectAtIndex:0]; 
0 голосов
/ 20 января 2012

По моему мнению, вам нужно создать пользовательскую ячейку, а для другой таблицы вам нужно создать только XIB для этого и использовать один и тот же файл .h и .m ...

просто поменяйте контроллерв XIB ...

Надеюсь, вы понимаете ..

См. это Как создать Customcell и это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...