2013-11-27 73 views
0

我有一个表格视图,它具有自定义单元类和.xib,我正在初始化我的主视图控制器。在自定义单元类中,我创建了一些链接到一些标签的IBOutlets,并且我还在头文件中定义了一个方法。当我从另一个类中调用该方法时,该方法将被调用并且工作得很好,直到它达到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

?没有或没有? – Ilario

+0

@伊拉里奥我有。它返回0而不是零,但这是因为整数是0.不是零。 – Milo

+0

好吧,然后说@Antonio MG控制连接 – Ilario

回答

1

很难用这么一小段代码检查你的问题,但我会尽量让你朝正确的方向发展。

你的代码看起来很好,所以:

将一个日志oldLabel,是零? (不oldLabel.text,oldLabel)然后检查你的插座连接是否正确,可能不是。

您的方法是正确的,除非您从辅助线程中调用未添加UI的辅助线程,否则它应该工作,如果一切正常连接。

+1

感谢您的帮助。我的问题是我错误地更新了我的桌子,但是我发现了这个洞。不管怎么说,多谢拉。 – Milo

0

使用您提供的一小段代码,我可以确定问题存在于您声明IBOutlet的方式中。

你可以交叉检查&确保你正在确定oldLabel的所有权。万一它丢失了,你可能无法更新标签。

@property (nonatomic, retain) IBOutlet UILabel *oldLabel;

0

你必须首先检查是否正确连接,然后标签的出口试试这个代码:如果你把的NSLog为finalString

oldLabel.text = [NSString stringWithFormat:@"%@", finalString]; 
相关问题