2015-10-14 69 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行,

我從來沒有發現實際答案,所以我刪除包含表視圖容器視圖,並提出了表視圖與視圖控制器作爲委託。這工作,因爲我是從我的控制器內控制表視圖的行動。 感謝您的幫助!

相關問題