我创建了一个类User
,我想创建一个可选的,编译器然后触发错误
class User {
var firstName: String = ""
var lastName: String = ""
}
var Tom = User?(firstName: "Tom", lastName: "Soya")
错误: cannot invoke initializer for type 'User?' with an argument list of type '(firstName: String, lastName: String)'
问题:它出了什么问题?在创建可选值之前,是否需要在类中添加更多内容?如果是这样的话是什么?
谢谢
答案 0 :(得分:1)
问题是您的User类没有初始化程序。因此,只有一种方式来初始化它:即通过说User()
。所以如果你要像这样定义用户:
class User {
var firstName: String = ""
var lastName: String = ""
}
那么你能做的最好的就是:
var tom : User? = User()
tom?.firstName = "Tom"
tom?.lastName = "Soya"
答案 1 :(得分:1)