'UIViewController'不是'View Controller'Swift的子类型

时间:2018-12-05 21:41:48

标签: ios swift

我正在尝试让我的班级LoginInfo Class访问多个View Controllers中的信息。但是,xCode吐出错误UIViewController is not a subtype of Start_BirthdayVC'。我似乎无法弄清楚为什么xCode会吐出该错误。

class LoginInfo {


    func userInfo() {
        var firstName: String = ""
        var lastName: String = ""
        var dateOfBirth: String = ""
        var email: String = ""

        firstName = NameVC().firstNameText!.text!
        lastName = NameVC().lastNameText!.text!
        dateOfBirth = String(Start_BirthdayVC().datePicker.date) //Error here
        email = Start_EmailVC().emailTextField!.text!



    }


}

2 个答案:

答案 0 :(得分:0)

首先,看来您的UIViewController初始化不正确。 第二个问题是您必须使用此代码:

class Start_BirthdayVC: UIViewController { ... } 您必须发布Start_BirthdayVC

可能的是,由于您使用隐式解包的可选(感叹号),因此您的代码可能会在运行时崩溃。

通常,firstNameText之类的UI项未在初始化程序中定义。检查并发布您的代码。

答案 1 :(得分:0)

您必须访问Start_BirthdayVC的实例,该实例在this线程中得到答复。

所以尝试更改

dateOfBirth = String(Start_BirthdayVC().datePicker.date) //Error here

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let startBirthdayVC = storyboard.instantiateViewController(withIdentifier: "Start_BirthdayViewController") as! Start_BirthdayVC
//access startBirthdayVC properties