cellForRowAtIndexPath никогда не вызывался

Я создал подкласс UITableView для создания собственной системы поиска данных, как описано в учебном руководстве по основным данным Apple, но столкнулся с проблемой. Заменяющий метод cellForRowAtIndexPath в моей пользовательской таблице никогда не вызывается, даже когда я вызываю reloadData или setNeedsDisplay. Я искал решения для этого, и кажется, что эта ошибка может быть вызвана множеством проблем. Однако я проверил все те, которые я могу найти, и не вижу ничего пропавшего. Может кто-нибудь сказать мне, что может быть не так?

PS Я знаю, что протокол UITableViewDataSource должен быть в треугольных скобках, но я не мог найти, как показать треугольные скобки на странице, не удаляя текст между ними.

H-файл

@interface DataTable : UITableView <UITableViewDataSource> {
    NSMutableArray *list;
}

@property (nonatomic, retain) NSMutableArray *list;

@end


M-файл
@implementation DataTable

@synthesize list;

-(id) initWithFrame:(CGRect)rect Style:(UITableViewStyle)style{ if (self = [super initWithFrame:rect style:style]){ list = [[NSMutableArray alloc] init]; self.dataSource = self; } return self; }

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [list count]; }

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *cellID = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; if (cell == nil){ cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID] autorelease]; }

    CH *this = (CH *)[list objectAtIndex:indexPath.row]; cell.detailTextLabel.text = [this.clusterName mutableCopy]; return cell; }

-(void) dealloc{ [list release]; [super dealloc]; }

@end

1
задан Jasarien 1 September 2010 в 13:48
поделиться