2014-06-20 39 views
0

我想将我的window.rootViewController作为UIPageViewController投射出去,但任何时候我访问我定义它的类属性都会与swift dynamic cast failed一起爆炸。我的故事板有一个UIPageViewController是最初的场景。Swift动态投射失败UIPageViewController

PageViewController只是一个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 
    } 

} 
+7

请发表您自己的解决方案作为答案并接受它。其他人会遇到同样的问题,因为你有。 –

+0

我回答了我的问题。自从我开始分类以来,它必须处理自定义类。 – slik

回答

1

的子类的主要问题其实是因为我继承UIPageViewController我不得不自定义类添加到ViewController我的故事板内。起初我认为,因为PageViewController是一个UIPageViewController,我只是将rootViewController投射到一个PageViewController,它应该已经工作。通过添加自定义类,它解决了我的问题。

我也没有通过子类测试,它与指定自定义类的工作。