我有一个表格视图,其中包含我在主视图控制器中初始化的自定义单元格类和.xib。在自定义单元格类中,我创建了一些链接到某些标签的IBOutlet,并且我还在头文件中定义了一个方法。当我从另一个类调用该方法时,该方法工作被调用并且工作正常直到它达到oldLabel.text = finalString;
。标签不会更新。起初我以为可能是我的tableView没有重新加载所以我在调用方法时重新加载它但仍然没有。标签根本没有变化。我还设置了断点,甚至在更改后记录了标签文本,但日志只返回null。这是该方法的代码。
-(void)changInteractBasedOnRow:(NSInteger)integer {
NSLog(@"Passed");
int finalInt = integer * 2;
NSString *finalString = [[NSString alloc] initWithFormat:@"%i", finalInt];
oldLabel.text = finalString;
}
答案 0 :(得分:1)
很难用这一小段代码检查你的问题,但我会试着让你朝着正确的方向前进。
您的代码看起来很好,所以:
在oldLabel中登录,是否为零? (不是oldLabel.text,oldLabel)然后检查你的插座是否连接正确,可能没有。
您的方法是正确的,除非您从未提升UI的辅助线程调用,否则它应该在所有内容都正确连接的情况下起作用。
答案 1 :(得分:0)
使用您提供的一小段代码,我可以确定问题在于您声明IBOutlet的方式。
你可以交叉检查&确保您确定oldLabel
的所有权。如果它丢失,您可能无法更新标签。
@property (nonatomic, retain) IBOutlet UILabel *oldLabel;
答案 2 :(得分:0)
如果已连接,您必须先正确检查标签的插座,然后尝试以下代码:
oldLabel.text = [NSString stringWithFormat:@"%@", finalString];