2013-09-21 4 views
0

У меня есть кодНеправильный подсчет вызова метода cellForRowAtIndexPath

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return self.objectIdArray.count; 
} 

этот метод возвращал 7.Я проверить его в отладочной mode.But метод делегата, такие как

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
// !!!!!!!!!!!!! 
     NSLog(@"%d\n",self.objectIdArray.count); 
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"OrderListCell"]; 
     if (cell == nil) { 
      NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"OrderListCell" owner:nil options:nil]; 
      cell = [topLevelObjects lastObject]; 
      [((OrderListCell *) cell).activityIndicatorView startAnimating]; 

     } 

     ((OrderListCell *) cell).delegate = self; 
     [((OrderListCell *) cell) prepareOrderListCell:[self.objectIdArray objectAtIndex:indexPath.row]]; 

     return cell; 

    } 

В журналах 7 был writed 6 (!) times.Any решения?

+0

Вы забываете, что индексы массива начинаются с 0, а не 1? –

+0

Ох, нет. В журналах «ОК» было подано 6 раз. Но должно быть 7, как self.objectIdArray.count = 7 – user2393695

+0

Вероятно, он отображает 7 в первом, потому что он начинается с 0, то есть будет 7 значений для 6 объектов – user2277872

ответ

3

cellForRowAtIndexPath вызывается только при отображении ячейки. Вы уверены, что 7 ячеек будут вписываться в ваш экран?

+0

не только отображаемые ячейки – incmiko

+1

@incmiko - только для отображаемых ячеек или ячеек, которые будут отображаться. –

+0

yes thats right cells, которые должны быть отображены, поэтому не только для отображаемых ячеек – incmiko

0

попробуйте проверить длину массива, а затем проверить на вызов методов делегата.

0

Сколько ячеек видно на экране? cellForRowAtIndexPath метод вызывает только видимые и ячейки, которые будут отображаться. Если вы заглянете в свой рабочий стол, он будет вызван и для последнего!

+0

после прокрутки этого метода, который не вызывается – user2393695

Смежные вопросы