Swift2 初始化UIViewController子类错误
我正在学习Swift,我有一个编译错误:Swift2 初始化UIViewController子类错误,swift2,Swift2,我正在学习Swift,我有一个编译错误: class ListScansVC: UIViewController { @IBOutlet weak var tableView: UITableView! internal var scans: [Scan] internal var dataSource: ListScanDataSource init(scans: [Scan]){ self.scans = scans dataSource = ListSc
class ListScansVC: UIViewController {
@IBOutlet weak var tableView: UITableView!
internal var scans: [Scan]
internal var dataSource: ListScanDataSource
init(scans: [Scan]){
self.scans = scans
dataSource = ListScanDataSource.init(scans: scans)
super.init(nibName: nil, bundle: nil)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func viewDidLoad() {
super.viewDidLoad()
dataSource.registerReusableViewsForTableView(tableView)
}
}
在另一个ViewController中,我正在执行以下操作:
override func viewDidLoad() {
super.viewDidLoad()
let scan = Scan(title : "Ticket", scanDate: NSDate())
let listScanVC = ListScansVC.init(scans: [scan])
self.displayChildContent(ListScansVC)
}
func displayChildContent(content : UIViewController){
self.addChildViewController(content)
self.view.addSubview(content.view)
content.didMoveToParentViewController(self)
}
错误是:
“无法将'ListScansVC.Type'类型的值转换为所需的参数类型'UIViewController'”类似Swift的
init
方法
init(scans :[Scan]){)
已被要求与
let listScanVC = ListScansVC(scans: [scan])
在下一行中,您必须传递实例(以小写字母开头),而不是类型
self.displayChildContent(listScanVC)
我建议使用更独特的名称来避免类型/实例混淆。arg愚蠢的错误!!!。快速自动完成仍然很可怕。谢谢你的回答。