2016-10-31 7 views
0

のために働いていない:オートコンプリートiは、次のように列挙型をした列挙-Swift 3

class Manager { 

    enum Language { 
     case englishLanguage 

     static func english() -> Language { 
      return englishLanguage 
     } 

    } 
    static let sharedInstance = Manager() 
    var language : Language? 

    private init(){ 


    } 

} 

そして必ずこの方法列挙型を呼び出すために:とき、私

Manager.sharedInstance.language = .english() // or .englishLanguage 

は今、問題はここにあります= .を書きません。englishを完了しませんが、= .と書くとネイティブコードで動作し、完了して中央、左、右と言います。

Label.textAlignment = .left 

どのように私の列挙型をネイティブと同じ方法で使用して値を見ることが可能ですか?私は大きな研究をしましたが、そのようなリソースはインターネット上にありません。助言がありますか ?

答えて

1

enum変数languageはオプションなので、自動補完できません。一般的には自動補完機能が動作します。変数がすでにenumの値で初期化されている場合は接頭辞。

したがって、オートコンプリートの結果を得るには!オペレータ

Manager.sharedInstance.language! = .englishLanguage 

または変数

class Manager { 
    enum Language { 
     case englishLanguage 
     case nepaliLanguage 

     static func english() -> Language { 
      return englishLanguage 
     } 

    } 

    static let sharedInstance = Manager() 
    var language : Language = .nepaliLanguage 

    private init(){ 


    } 

} 

あなたのオートコンプリートがうまく機能し、この道を割り当てます。

Manager.sharedInstance.language = .englishLanguage