2015-10-14 55 views
1

我有一个视图控制器调用ViewController与其中包含一个表视图控制器的容器视图。当我按表格单元格时,我想根据ViewController中的标签更改基于点击哪个单元格的文本。Xcode:文本标签文本不会更改当攻表表格单元格

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
int row = (int)indexPath.row; 
NSString *textlabel = self.array[row]; 
NSLog(@"%@", textlabel); 
ViewController *controller = [[ViewController alloc] init]; 
controller.viewBarLabel.text = [NSString stringWithFormat:@"%@", textlabel]; 

} 

我使用NSLog进行检查,它确实记录数组中的正确字符串。问题是标签文字不会改变。是的,我确实导入了ViewController.h

帮助? 谢谢

回答

0

您正在创建ViewController的新实例,而不是使用相同的实例。

你不需要一个视图控制器对象来控制你用'self'控制的视图控制器内的对象。

删除这个..

ViewController *controller = [[ViewController alloc] init]; 

你可以使用这个..

self.viewBarLabel.text = [NSString stringWithFormat:@"%@", textlabel]; 
+0

没有工作。标签文本仍然保持不变:( – Fez

+0

使用此... self.viewBarLabel.text = [NSString stringWithFormat:@“%@”,textlabel]; – Skywalker

+0

您不需要另一个视图控制器对象来控制视图控制器现在..你可以用自己做...我的坏 – Skywalker

0

你不应该重新初始化的ViewController。您的案例中的ViewController中的UILabel可以通过self进行访问。

ViewController *controller = [[ViewController alloc] init]; 
controller.viewBarLabel.text = [NSString stringWithFormat:@"%@", textlabel]; 

self.viewBarLabel.text = [NSString stringWithFormat:@"%@", textlabel]; 
+0

我不在ViewController的.h和.m文件中。不行。 – Fez

0

行球员更换上述2行,

我从来没有发现实际答案,所以我删除包含表视图容器视图,并提出了表视图与视图控制器作为委托。这工作,因为我是从我的控制器内控制表视图的行动。 感谢您的帮助!

相关问题