2017-11-12 5 views
-1

機能コールのためにガードletステートメントを操作しているときに、エラーが表示されます。それ以降は複数の条件があるため、条件を使用する場合は使用したくありません。私が間違っていることや変更が必要なことを教えてください。Swift:エラー - 条件付きバインディングの初期化子には、ガードレットを使用するオプションのタイプが必要です。

var sampleString: String! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     guard let sample = self.createSampleCall(firstSampleName: sampleString) else { 
      print("sample is nil"); return 
     }   
    } 

    func createSampleCall(firstSampleName: String) -> String { 
     print(firstSampleName) 
     return firstSampleName 
    } 
+3

'createSampleCall'はないですホープエラーを示しているだStringないString?(省略可能なString)

を返します。 **オプションではないので、 'nil 'にすることはできません。それがエラーメッセージに表示されます。 'guard'と' else {...} 'を削除してください。 – vadian

+0

また、sampleStringのnil条件をチェックしますか?もしそうなら、あなたはそれをオプションにしてください。 –

答えて

1
Guard statment or 'if let' statment is used only for optinal values 

あなたの方法を観察する場合、なぜそれが

が、それはあなたに明確な

関連する問題