Сбой при использовании customcellview в iOS

#iphone #ios4 #uitableview

#iPhone #ios4 #uitableview

Вопрос:

Мой первый сбой программы IOS при попытке использовать мой пользовательский TableCellView.

 // Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:   (NSIndexPath *)indexPath {
AuthorizeTableCell *cell = (AuthorizeTableCell*) [tableView dequeueReusableCellWithIdentifier:@"AuthorizeCell"];

if (cell == nil) {
    cell = [[[NSBundle mainBundle] loadNibNamed: @"AuthorizeTableCell" owner:self options:nil] objectAtIndex:0 ];                
}

cell.batchIDLabel.text = [[self.authorizeList objectAtIndex:indexPath.row] valueForKey:@"batchID"];
cell.amountIDLabel.text =  [NSString stringWithFormat:@"%@", [[self.authorizeList objectAtIndex:indexPath.row] valueForKey:@"amount"]] ;

return cell;
}
  

Класс AuthorizeTableCell содержит только 2 метки и 1 кнопку в TableCellView. я должен убедиться, что 3 компонента были освобождены в классе. Программа запускается корректно, если я использую стандартный TableCellView. Может кто-нибудь дать мне несколько советов?

спасибо за крышку

Комментарии:

1. Какие ошибки в терминале журнала? можете ли вы опубликовать трассировку стека? Из приведенного выше кода все выглядит нормально

2. Какой родительский класс вашей пользовательской ячейки? UITableViewCell?

3. я включаю NSZombieEnabled = YES, и консоль показывает *** -[CALayer retain]: сообщение отправлено освобожденному экземпляру

4. @interface AuthorizeTableCell: UITableViewCell

5. Затем прокомментируйте все выпуски в пользовательских ячейках dealloc…

Ответ №1:

Извините, что я запустил неправильную команду в освобождении пользовательских ячеек

 -void dealloc {
[component1 dealloc];
[component2 dealloc];
[component3 dealloc];
[super dealloc];
}
  

после того, как я изменил его на ‘release’, он работает нормально ^_^
спасибо