Пользовательские uitableviewCell выходы возвращают ноль - PullRequest
3 голосов
/ 22 августа 2011

Я создаю приложение, в котором я использую пользовательские ячейки tableView, и я не совсем уверен, правильно ли я это делаю: Я не совсем уверен насчет cellOwner, например ...

И основная проблема в том, что все выходы, которые я определил и подключил в IB, равны нулю во время выполнения. Вот что я сделал:

  • создание собственного подкласса UITableViewCell (ProductListTableViewCell)
  • сделал перо, содержащее UITableViewCell в качестве корневого элемента
  • установить как className, так и тип владельца для ProductListTableViewCell
  • установить идентификатор повторного использования
  • затем поместите пару ярлыков и т. Д. В ячейку и сгенерируйте розетки с помощью перетаскивания
  • дважды проверил правильность подключения всех розеток.

Однако все розетки равны нулю. Что я делаю не так?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"ProductListTableViewCell";

ProductListTableViewCell *cell =(ProductListTableViewCell*) [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
    ProductListTableViewCell *cellOwner = [[ProductListTableViewCell alloc]init];

    UINib* nib = [UINib nibWithNibName:@"ProductListTableViewCell" bundle:nil];

    cell =(ProductListTableViewCell*) [[nib instantiateWithOwner:cellOwner options:nil]objectAtIndex:0];

}
// all outlets are nil here

1 Ответ

0 голосов
/ 22 августа 2011

попробуйте

static NSString *CellIdentifier = @"ProductListTableViewCell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"ProductListTableViewCell" owner:self options:nil];
    cell = ProductListTableViewCell;
    self.ProductListTableViewCell=nil;

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