cellForRowAtIndexPath всегда возвращает ноль - PullRequest
3 голосов
/ 28 сентября 2010

Я создал пример приложения, которое вставляет 12 строк в табличное представление. И вставлено нормально. Когда после вставки моих строк я не хочу никаких изменений в тексте во время прокрутки табличного представления. Так что я проверил со строкой indexpath значение UITableViewCell, если оно имеетзначения означают возвращение этой ячейки, в противном случае мы создали новый UITableViewCell.

Мой пример кода ниже

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;

}

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  {
NSLog(@"GlobalCount = %d",GlobalCount);
return GlobalCount;

}

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *obj = (UITableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
if(obj!=nil)
{
    NSLog(@"cell indexpath row = %d",indexPath.row);
    NSLog(@"cell text = %d",obj.textLabel.text);
    return obj;
}

else {
    NSLog(@"obj==nil");
}


static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

}

if([DataTable count]>0)
    cell.textLabel.text = [DataTable objectAtIndex:0];
// Configure the cell.
return cell;

}

Какова моя цель, я не хочу обновлять какой-либо текст (или UITableViewCell) для уже созданных строк indexpath (ячейки). Так что я могу проверить это в cellForRowAtIndexPath, но он всегда возвращает nil. Если ячто-нибудь пропустили?

Я проверил, используя эту строку

UITableViewCell *obj = (UITableViewCell*)[tableView cellForRowAtIndexPath:indexPath];
if(obj!=nil)

Плз, помогите мне?

Заранее спасибо ......

1 Ответ

4 голосов
/ 28 сентября 2010

Пусть табличное представление решит, нужно ли ему обновлять ячейку или нет. Просто удалите всю первую часть вашего кода, и все будет работать гладко.

Не стесняйтесь читать документ UITableView.

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