Xcode:点击表格单元格时文本标签文本不会更改

时间:2015-10-14 00:12:20

标签: objective-c xcode uitableview

我有一个名为ViewController的视图控制器,其中包含一个嵌入表视图控制器的容器视图。当我按下表格单元格时,我希望ViewController中的标签可以根据点击的单元格更改文本。

-(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

帮助? 感谢

3 个答案:

答案 0 :(得分:0)

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

您不需要视图控制器对象来控制您正在控制的视图控制器内的对象'

删除此..

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

你可以使用它..

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

答案 1 :(得分:0)

您不应该再次初始化ViewController。您可以使用UILabel访问ViewController中的self

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

替换上面的2行
self.viewBarLabel.text = [NSString stringWithFormat:@"%@", textlabel];

答案 2 :(得分:0)

好的伙计们,

我从未找到实际答案,所以我删除了包含表视图的容器视图,并以视图控制器作为委托创建了一个表视图。这很有效,因为我正在控制器中控制表格视图的动作。 谢谢你的帮助!