2016-12-13 10 views
-1

私はこのような 'in'を使用するチュートリアルに従います:let completion = {(error: Error?) in }。私は検索して、stackoverflowで非常に似たような答えを見つけましたが、ボディが 'in'で終わる場合は触れませんので、私は 'in'を考えていたので混乱しています。ここでSimilar questionスイフトの無名関数は 'in'で終了します

そのビーイングは、これまでのテストの内部使用方法を完全に実装されています:

func testLogin_MakesRequestWithUsernameAndPassword() { 

     let sut = APIClient() 

     let mockURLSession = MockURLSession() 

     sut.session = mockURLSession 

     let completion = {(error: Error?) in } 

     sut.loginUserWithName("dasdom", password: "1234", completion: completion) 

    } 

答えて

1

あなたはその権利閉鎖体がin後に表示されるはずですが、ここで私が見つけた元のスタックオーバーフローのリソースがあります。しかし、あなたはその関数/クロージャ本体を忘れていることはすることができ、したがって、これは空のボディを持つ関数を宣言に似て、完全に有効である:閉鎖して

func doSomething() { 
} 

防ぐこと{ _ in }を書くことも一般的ですコンパイラは未使用のパラメータについて警告します。

関連する問題