Как использовать метод prepareForReuse

Я нашел этот метод под названием - (void)prepareForReuse. Я прочитал документ, но я не понимаю, как его использовать.

Когда я просматриваю свой рабочий стол, он застревает или имеет медленную прокрутку, и я намереваюсь использовать prepareForReuse. Может кто-то, пожалуйста, назовите меня хорошим учебником или дайте мне пример кода, чтобы я мог учиться.

Извините, у меня нет кода для демонстрации моей работы.

Ответы

Ответ 1

Метод prepareForReuse вызывается видом таблицы владельца ячейки, которая не нужна прямо сейчас. Вы должны сделать небольшую очистку здесь для своей пользовательской ячейки, например, сбросить значения альфа и тому подобное, чтобы впоследствии ее можно было повторно использовать. Вы не должны называть это самим, BTW.

Вам нужно только заботиться об этом, если вы реализуете собственные ячейки представления таблицы: вы перезаписываете его для очистки.

Вы "используете" его просто, используя идентификаторы повторного использования в tableView:cellForIndexPath::

static NSString *CellIdentifier = @"Identifier";

cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:CellIdentifier];
    [cell autorelease];
    // Set up your cell
}

Чтобы улучшить производительность настольного просмотра, см. вопрос Трюки для улучшения производительности прокрутки iPhone UITableView

Ответ 2

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

-(void)prepareForReuse{
    [super prepareForReuse];

    // Then Reset here back to default values that you want.
}

В противном случае он может повторно использовать предыдущие значения, которые вы установили, если ваша логика не изменила его.