2014-09-20 70 views
1

查看我有我的故事板下面之間的溝通:實例化通過故事板

enter image description here

ViewA包含一個容器和一個UIView。該容器中嵌入了一個表視圖控制器。

我想動作表中會影響UIView外觀的東西,所以我需要從我的表視圖控制器調用ViewA方法。

我跟着這篇文章 - '傳遞數據返回'部分,這一切都有道理。 Passing Data between View Controllers 我遇到的問題是控制器以編程方式實例化的最後一步。

故事板(或一些ios框架組件)正在爲我實例化兩個控制器。

所以,我的問題是,我如何獲得從其他控制器爲我自動創建的View實例的引用 。

從ViewA如何獲得對我的TableViewController的引用,以設置委託?

+0

在viewA中創建自定義協議和handale maethod,或者您可以去notificationhandaler概念 – 2014-09-20 08:52:42

回答

2

這兩個控制器有一個孩子父母關係。從表視圖控制器中,您可以使用self.parentViewController訪問A.從A,您可以使用self.childViewControllers [0]訪問表視圖控制器。您也可以在A中實現prepareForSegue,並以segue.destinationViewController的形式訪問表視圖控制器;你應該在那裏設置A作爲代表。

+0

感謝,self.parentViewController爲我工作 – user568280 2014-09-22 16:01:15

0

首先,您必須爲您的UITableViewController製作故事板標識符。

比你可以試試這個代碼...

ClassnameViewController *instance = (ClassnameViewController *) [self.storyboard instantiateViewControllerWithIdentifier:@"storyboardIdentifierSetByUser"]; 

instance.tableViewObject.delegate = self; 

利用這一點,你可以訪問ClassnameViewController的所有屬性。