Необходимо ли реализовать механизм удаления очереди для многоразовых UITableViewCells при отображении только нескольких ячеек? - PullRequest
0 голосов
/ 17 декабря 2011

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

UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];

Ответы [ 3 ]

2 голосов
/ 17 декабря 2011

Похоже, в вашем случае вам не нужно беспокоиться о кэшировании и повторном использовании ячеек. Но это «лучшая практика» для этого. Если вы закодируете свое приложение для повторного использования ячеек, а позже ваше приложение изменится и у вас будет больше, чем несколько ячеек, вы получите преимущество повторного использования ячеек. В любом случае, это не слишком увеличивает накладные расходы, так что вы тоже можете. Или нет. Тебе решать! Дело в том, что если ты не хочешь, то не делай этого. И в этом случае вы увидите небольшое влияние от повторного использования ячеек, IMO.

0 голосов
/ 17 декабря 2011

Конечно, вы можете сделать это, особенно когда ваш tableView не прокручивается.В любом случае, я бы посоветовал использовать механизм удаления очереди. Возможно, вы захотите добавить ячейки в будущем и не подумать о том, чтобы не реализовывать его в первую очередь, и, в конце концов, писать не так уж много кода, вы могли быдаже сделайте это в две строки (хотя это было бы беспорядочно для чтения):

static NSString *Identifier = @"MyIdentifier";
UITableViewCell *cell = ((cell = [UITableView dequeueReusableCellWithIdentifier:Identifier]))?cell:[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:Identifier];

Двойные скобки предназначены для отключения предупреждения компилятора об использовании результата присваивания в операторе if.(Я не проверял это, оно должно работать, хотя.)

0 голосов
/ 17 декабря 2011

Вы не обязаны повторно использовать ячейки. Это просто для улучшения производительности вашего приложения. Это не принесет вреда вашему количеству клеток, если вы не будете использовать их повторно, но почему вы не сделаете это? Это не намного больше кода (просто вызов), и вы масштабируемы.

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