UIViewController 类型的值在 Xcode 7 更新后没有成员 topViewController

Value of type UIViewController has no member topViewController after Xcode 7 update

在我更新到 Xcode 7 之后,我收到这个错误 "Value of type UIViewController has no member topViewController." 还有其他人 运行 遇到这个问题吗? topViewController 不再是 UIViewController 的一部分了吗?

 override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.leftBarButtonItem = self.editButtonItem()
    let addButton = UIBarButtonItem(barButtonSystemItem: .Search,
        target: self, action: "addButtonPressed:")
    self.navigationItem.rightBarButtonItem = addButton

    if let split = self.splitViewController {
        let controllers = split.viewControllers
        self.detailViewController =
            controllers[controllers.count-1].topViewController as? ### Error heres
        DetailViewController
    }

    model = Model(delegate: self) // create the Model
    model.synchronize() // tell model to sync its data
    self.navigationController?.toolbarHidden = false;
    self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"Home", style:.Plain, target:nil, action:nil)
}

您必须明确表示,以便它知道您正试图从 UINavigationController 中获取 topViewController in Swift 2:

self.detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController
Simple Do this 

extension UIApplication {
    class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
        if let navigationController = controller as? UINavigationController {
            return topViewController(controller: navigationController.visibleViewController)
        }
        if let tabController = controller as? UITabBarController {
            if let selected = tabController.selectedViewController {
                return topViewController(controller: selected)
            }
        }
        if let presented = controller?.presentedViewController {
            return topViewController(controller: presented)
        }
        return controller
    }
}

用法

UIApplication.topViewController()