Swift 2.2:
/**
依序彈出頁面
*/
func runPresentViewControllerLoop() {
let application = UIApplication.sharedApplication()
let previousPresenter = navigationToHomePage()
application.keyWindow?.rootViewController = previousPresenter
var presenterArray = [showTourIfNeeded(), showServiceTermsIfNeeded(), showLoginIfNeeded()]
presentNextViewControllerIfNeeded(previousPresenter, presenterArray: &presenterArray)
}
/**
Present View controller 遞回
- parameter previousPresenter: previousPresenter description
- parameter presenterArray: presenterArray description
*/
func presentNextViewControllerIfNeeded(previousPresenter: UIViewController, inout presenterArray: [UIViewController?])
{
guard let lastObject = presenterArray.popLast() else {
return
}
guard let viewController = lastObject else {
return
}
// 不能加[ weak self]
previousPresenter.presentViewController(viewController, animated: presenterArray.count == 0) {
self.presentNextViewControllerIfNeeded(viewController, presenterArray: &presenterArray)
}
}
留言列表