更新表格单元格内容的问题
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中的一列每个单元格内容的前面统一添加同样的文字怎么做?
UITableView“dequeueReusableCellWithIdentifier”导致基于单元格内容的动态单元格高度的单元格重叠?