更新表格单元格内容的问题

Posted

技术标签:

【中文标题】更新表格单元格内容的问题【英文标题】:Problems Updating content of table cell 【发布时间】:2012-03-17 09:39:10 【问题描述】:

我只是在玩 ios,我遇到了一个问题,它看起来很简单,我不敢相信它不起作用

我有一个表格列表 我已经设置了所有的委托,以便它显示来自 plist 的信息

有效

但是,当我切换到内部布局的自定义视图时,我得到了视图的默认文本,而不是 plist 中的文本

这是表格视图控制器的一些代码:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"DefaultCell"];

    if(cell == nil)
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DefaultCell"];
    

        EmergencyContactItemConrtroller *genericViewController = [[EmergencyContactItemConrtroller alloc] initWithNibName:@"EmergencyContactItemConrtroller" bundle:nil];

[genericViewController setInitialParametersWithTitle:[[emergencyArray objectAtIndex:indexPath.row]objectForKey:@"Title"]
                                        withCatption:[[emergencyArray objectAtIndex:indexPath.row]objectForKey:@"Caption"]
                                          withNumber:[[emergencyArray objectAtIndex:indexPath.row]objectForKey:@"Number"]
                                       withOtherInfo:nil];

[cell.contentView addSubview:genericViewController.view];

return cell;


这里是单元格视图控制器中 setInitialParametersWithTitle 的代码。

-(void) setInitialParametersWithTitle:(NSString *)title
                         withCatption:(NSString *)caption 
                           withNumber:(NSString *)number
                        withOtherInfo:(NSDictionary *)otherInfo
    self.titleLable.text = title;
    self.captionLable.text = caption;
    [self.numberButton setTitle:number forState:UIControlStateNormal];

我检查了 xib IBOutlet 是否正确链接。

当我尝试调试时,我将正确的值发送到函数,但是当我打印出 self.titleLable.text 为其赋值之前,它没有任何值。

有什么想法吗?

杰森

【问题讨论】:

emergencyArray 是否包含必要的信息?你检查了吗? EmergencyContactItemConrtroller 是 UIViewController 类吗?所有 IBOutlets 将在 [cell.contentView addSubview:genericViewController.view] 完成后初始化;那么你应该改变它们。 @NeverBe:成功了,谢谢(你想发表你的评论作为答案吗?) 【参考方案1】:

EmergencyContactItemConrtroller 是 UIViewController 类吗? 所有 IBOutlets 将在

之后初始化
[cell.contentView addSubview:genericViewController.view] 

完成;那么你应该改变它们

【讨论】:

【参考方案2】:

尝试在-(void)viewwillappear() 中重新加载表格视图

【讨论】:

【参考方案3】:

试试这个,在 if(cell==nil) 里面,

if(cell == nil)
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"DefaultCell"];
    cell.contentView = [[UIView alloc]init];

然后你可以在单元格的 contentView 上方添加 subView

【讨论】:

以上是关于更新表格单元格内容的问题的主要内容,如果未能解决你的问题,请参考以下文章

excel合并单元格内容的教程

excel中的一列每个单元格内容的前面统一添加同样的文字怎么做?

在excel中如何用鼠标拖动实现单元格内容的复制与移动

在excel中如何用鼠标拖动实现单元格内容的复制与移动

UITableView“dequeueReusableCellWithIdentifier”导致基于单元格内容的动态单元格高度的单元格重叠?

故事板中具有不同单元格大小和单元格内容的 UITableViewController