我不明白为什么Driver
(在RxSwift中)抱怨初始化程序:
class LoginVM
{
let userName : Driver<String>?
let password : Driver<String>?
}
我也尝试过隐式解包,但是编译器说类LoginVM
没有初始化器。我该如何解决这个问题?感谢
答案 0 :(得分:3)
Swift要求let
常量始终在init
完成时初始化。因此,您可以将其保留为let
常量并在init
中设置值,也可以将其更改为var
并将其设为可选,并仅声明它。
使用let
初始化init
(推荐)
class LoginVM {
let userName : Driver<String>
init() {
userName = Variable<String>("some initial string").asDriver()
}
}
Optional
var
,仅声明(不推荐)
class LoginVM {
var userName : Driver<String>?
}