无法将“Any”类型的值快速转换为指定类型

Pri*_*ka 3 arrays nsmutablearray swift

我创建了一个如下所示的数组

var childControllers = NSArray()
childControllers = NSArray(objects: OBDPage1, OBDPage2, OBDPage3, OBDPage4)
self.loadScrollView(page: 0)// calling method
Run Code Online (Sandbox Code Playgroud)

现在我想使用如下所示的数组对象

func loadScrollView(page: Int){ // method
    if page >= childControllers.count {
        return
    }
    // replace the placeholder if necessary
    let controller: OBDPage1ViewController? = childControllers[page]
}
Run Code Online (Sandbox Code Playgroud)

但我遇到了以下错误

Swift-CarAssist/Swift-CarAssist/OBDCarMonitorDeatilViewController.swift:90:67:无法将类型“Any”的值转换为指定类型“OBDPage1ViewController”?

任何人都可以告诉我我哪里出了问题,因为我是斯威夫特的新手。

提前致谢。普里扬卡

Ash*_*lls 5

在 Swift 中工作,你应该使用 SwiftArray而不是NSArray

var childControllers = [UIViewController]()
childControllers = [OBDPage1,OBDPage2,OBDPage3,OBDPage4]
self.loadScrollView(page: 0)// calling method
Run Code Online (Sandbox Code Playgroud)

然后

func loadScrollView(page: Int){ // method

    if page >= childControllers.count {
        return
    }

    // replace the placeholder if necessary
    let controller = childControllers[page] as? OBDPage1ViewController

}
Run Code Online (Sandbox Code Playgroud)