1
我想知道如何在UIViewController堆棧中導航到更高級別的視圖,如果需要更改它們。在視圖層次結構中查找元素的最佳方法
其中一個例子是如果您有TabViewController並且您需要在選項卡之間進行通信,但這不是唯一的情況。
我現在做的是這樣的事情
let tabOne = self.tabBarController?.childViewControllers.first?.childViewControllers.first as? tabOneController
或
let topController = ((self.viewControllers[0] as! RootViewController).viewControllers![0] as! UINavigationController).topViewController as? MySpecialViewController
問題這種方法是,你真的需要知道視圖的層次,你havely依賴於它,如果您稍微更改層次結構,則需要更改它。
第二個問題是,如果你在一個團隊中工作,那麼這段代碼對於其他團隊成員來說是非常令人沮喪的,而且沒有足夠的描述性。
我的問題是,什麼是正確的方法/最佳實踐,或者:你如何做到這一點?