Я использую среду QuickBlox для создания чат-приложения. Ниже приведен код cellForRowAtIndexPath.Объектив C - cellForRowAtIndexPath Cell Never Nil?
Есть некоторые вещи, которые я хотел бы делать с каждой ячейкой только один раз (например, загружать изображения), так как я понял, я должен добавить блок if (! Cell), чтобы сделать это.
Однако этот блок никогда не срабатывает, даже когда табло просматривается в первый раз. Почему это так?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
QBChatMessage *message = [[ChatService shared] messagsForDialogId:self.dialog.ID][indexPath.row];
ChatMessageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ChatMessageCellIdentifier];
if (!cell) {
// some things I only want to do once here, such as download images. but it never fires
}
[cell configureCellWithMessage:message];
return cell;
}
'dequeueReusableCellWithIdentifier' не будет возвращать' nil', если вы использовали 'registerClass: forCellReuseIdentifier:'. – rmaddy
Да. Вы можете найти это в документации, которую знаете ... – sloik
@rmaddy Я использовал registerClass ... есть ли другой способ, который позволил бы мне делать то, что я хочу? –