从单独的类中更改IBOutlet不起作用

时间:2013-11-27 07:24:45

标签: ios objective-c iboutlet

-(void)buttonTapped {
    ExpandableCell * mvc= [[ExpandableCell alloc] init];
    if (mvc == nil) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ExpandingCell" owner:self options:nil];
        mvc = [nib objectAtIndex:0];
}
mvc.interactLabel.text = @"Second";
}

不适合我。编译时,interactLabel文本不会更改。当用户点击自定义单元格中的按钮时,将调用此方法。我已经能够在cellForRowAtIndexPath方法中更改其他标签,但出于某种原因,它不会在此处更改。我知道这个方法被调用因为我已经记录了它。有人可以帮忙吗?我是否错误地创建了ExpandableCell实例?

1 个答案:

答案 0 :(得分:0)

删除代码:

ExpandableCell * mvc= [[ExpandableCell alloc] init];
    if (mvc == nil) {

因为它创建了一个与任何XIB无关的空视图(因此不存在子视图)。只需保留NIB加载代码和配置。

之后,您的代码不对mvc执行任何操作(我假设这只是针对该问题,您将其作为实际代码中的某个子视图添加)。