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

时间:2012-03-17 09:39:10

标签: ios xcode uitableview uiviewcontroller

我刚刚和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 时,它没有任何值。

任何想法?

杰森

3 个答案:

答案 0 :(得分:1)

尝试在-(void)viewwillappear()

中重新加载表格视图

答案 1 :(得分:1)

EmergencyContactItemConrtroller是UIViewController类? 所有IBOutlets将在

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

完成;然后你应该改变它们

答案 2 :(得分:0)

试试这个,if if(cell == nil),

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

然后你可以在cell的contentView

上面添加subView