У меня есть кодНеправильный подсчет вызова метода 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, а не 1? –
Ох, нет. В журналах «ОК» было подано 6 раз. Но должно быть 7, как self.objectIdArray.count = 7 – user2393695
Вероятно, он отображает 7 в первом, потому что он начинается с 0, то есть будет 7 значений для 6 объектов – user2277872