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



我正在尝试让我的类LoginInfoClass访问多个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!

}

}

首先,您的UIViewController初始化似乎不正确。第二个问题是你必须使用这个:

class Start_BirthdayVC: UIViewController { ... }你必须张贴Start_BirthdayVC

您的代码可能会在运行时崩溃,因为您使用了隐式展开的可选代码(感叹号(。

通常,像firstNameText这样的UI项不会在初始值设定项中定义。检查并发布您的代码。

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

所以试着改变

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

最新更新