2016-08-10 4 views
-1

と私は理解していない初期化子を持っていない:は<code>Driver</code>(RxSwift中)は、ここで初期化子を訴え、なぜドライバー

class LoginVM 
{ 
    let userName : Driver<String>? 
    let password : Driver<String>? 
} 

私はまた、暗黙のアンラップを試してみましたが、コンパイラは、クラスLoginVMは何の初期化子を持っていないと言います。これをどうすれば解決できますか?ありがとう

+1

以下の回答が応答しないと宣言あなたの質問? – solidcell

答えて

2

スウィフトは、initの時間で常にletの定数が初期化されている必要があります。したがって、let定数のままにして、値をinitに設定するか、varに変更してオプションにして宣言するだけです。 Optionalvar

initに初期化さlet、(を推奨)

class LoginVM { 
    let userName : Driver<String> 

    init() { 
     userName = Variable<String>("some initial string").asDriver() 
    } 
} 

、唯一を推奨しません)

class LoginVM { 
    var userName : Driver<String>? 
} 
関連する問題