2010-04-10 2 views
1

dequeueReusableCellWithIdentifier: Возвращает многоразовую ячейку для просмотра таблицы объект, расположенный по его идентификатору.Могу ли я предоставить ноль для метода -dequeueReusableCellWithIdentifier:?

  • (UITableViewCell *) dequeueReusableCellWithIdentifier: (NSString *) Идентификатор

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

Хорошо, если по умолчанию это имя класса, почему я должен заставлять мозг много думать о идентификаторе? Могу ли я предоставить только нуль? Будет ли он использовать имя класса? Или что они пытались сказать здесь? Должен ли я сам создать NSString с именем класса и предоставить его как идентификатор?

ответ

2

№ Идентификатор будет использоваться как ключ во внутреннем NSMutableDictionary NSArray для хранения повторно используемых ячеек. Если вы предоставите nil, то произойдет сбой -objectForKey:, используемый в -dequeueReusableCellWithIdentifier:.

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

+0

поэтому, если бы я сделал NSString из имени класса, это было бы решением? – dontWatchMyProfile

+0

@mystify: Да. Но я, как правило, просто даю фиктивную строку, например. '@". "как идентификатор. – kennytm

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