问题
I am trying to cast my window.rootViewController as a UIPageViewController but anytime I access the class property which I defined it blows up with swift dynamic cast failed
. My storyboard has a UIPageViewController is the initial scene.
PageViewController is just a subclass of UIPageViewController
class AppDelegate: UIResponder, UIApplicationDelegate, UIPageViewControllerDataSource {
var window: UIWindow!
var pageViewController: PageViewController {
return window.rootViewController as PageViewController
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
pageViewController.dataSource = self
return true
}
}
回答1:
The main issue actually was because I was subclassing UIPageViewController I had to add the custom class to the ViewController inside my storyboard. At first I figured that since PageViewController is a UIPageViewController, and I am just casting the rootViewController to a PageViewController, it should've of worked. By adding the custom class it fixed my problem.
I also tested by not subclassing, it worked with out specifying a custom class.
来源:https://stackoverflow.com/questions/24327267/swift-dynamic-cast-failed-uipageviewcontroller