2015-11-20 165 views
0

我正在構建視圖控制器層次結構。 我有一個從容器視圖控制器2層深的子視圖控制器。從子視圖控制器到容器視圖控制器的通信

此子視圖控制器有一個執行特定操作的按鈕。

這是傳達給容器視圖控制器的最佳方式。 我曾嘗試使用響應者鏈發送消息。 有一個委託似乎超級棘手,因爲它是2級深。 有沒有更好的方法?

回答

0

您可以使用此功能查找包含的ViewController,用類代替ContainViewController你有

- (ContainViewController *)containViewController 
{ 
    UIViewController *iter = self.parentViewController; 
    while (iter) { 
     if ([iter isKindOfClass:[ContainViewController class]]) { 
      return (ContainViewController *)iter; 
     } else if (iter.parentViewController && iter.parentViewController != iter) { 
      iter = iter.parentViewController; 
     } else { 
      iter = nil; 
     } 
    } 
    return nil; 
} 
相關問題