我正在構建一個iPad應用程序,我將使用容器視圖。UILabel在子容器視圖不更新
我使用故事板,所以我加了2 UIViewControllers
和1 UITableViewController
。
在一個UIViewController
我添加了2個容器視圖,並通過嵌入segue將每個視圖連接到UITableViewController
和其他UIViewController
。
兩個容器視圖在應用程序啓動時都可見。
我填充tableview與數組,我試圖通過一個字符串到另一個UIViewController
通過didselectrowatindexpath
。
我可以看到字符串通過nslogging傳遞給viewcontroller,但視圖控制器中的標籤不會更改。
這裏是在tableviewcontroller的didSelectRowAtIndexPath方法:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailVC *detailVC = [[DetailVC alloc] init];
NSString *urlString = [siteAddresses objectAtIndex:indexPath.row];
detailVC.webAddress = urlString;
[detailVC viewWillAppear:YES];
}
這裏是recieving視圖控制器的M檔:
@synthesize webAddress, webview, webURL;
-(void)viewWillAppear:(BOOL)animated
{
self.webAddress = webAddress;
webURL.text = webAddress;
NSLog(@"%@",webAddress);
NSLog(@"%@", webURL.text);
[super viewWillAppear:animated];
}
所有網點和連接都正確,但仍標籤文本不會改變。
我使用storyboard通過嵌入segues將容器視圖連接到控制器。
任何幫助,高度讚賞。
我想你實際上並沒有更新標籤。爲什麼會發生這種情況有很多種不同的可能性,但最明顯的是'webURL'是一個空指針。 –
您似乎在'didSelect ...上分配了一個新的控制器...'而不是在childController上設置屬性(你可以通過你父級的'childViewControllers'屬性獲得對嵌入式控制器的引用)。 – Alladinian