我有一个UITableView,我希望一些单元格成为标准的UITableViewCells,我有一个名为ImageTableViewCell的自定义单元格。我在IB中设置了这个自定义单元格,并与其标题和实现相关联。
单元格与标准单元格一起很好地加载到我的视图中,但是我的数据没有在运行时放入单元格中。这是我正在使用的代码。你注意到有什么不对吗?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = nil;
if (tableView == self.visitTableView && indexPath.section == 0 && indexPath.row == 0){
CellIdentifier = @"imageCell";
}
else{
CellIdentifier = @"cell";
}
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
ImageTableViewCell *imageCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (tableView == self.visitTableView)
{
if (indexPath.section == 0)
{
switch (indexPath.row) {
case 0:
imageCell.patientNameLabel = [self.appointmentDictionary objectForKey:@"patient"];
[imageCell.patientImage setImageWithURL:[NSURL URLWithString:[self.appointmentDictionary objectForKey:@"patient_small_photo_url"]] placeholderImage:nil];
break;
case 1:
cell.textLabel.text = @"Appointment";
cell.detailTextLabel.text = [self.appointmentDictionary objectForKey:@"scheduled_time"];
break;
default:
break;
}
}
答案 0 :(得分:2)
嗯,你最后的评论是问题所在。您将两个单元格出列,然后配置第二个单元格并返回第一个单元格。
要获取指向ImageTableViewCell的指针,只需转换UITableViewCell指针,如下所示:
ImageTableViewCell *imageCell = (ImageTableViewCell*)cell;
并删除此内容:
ImageTableViewCell *imageCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
然后你可以继续为这两种情况返回'cell'。