2016-05-02 18 views
3

Swiftでパラメータとして関数を渡そうとしています。'()'型の値を期待される引数型 '() - >()'に変換できません。

:私は次のエラーを取得する

func toBeCalled() ->() { 
    print("hello world") 
} 

foo(toBeCalled()) 

:私は、私が使用する別の関数を定義

func foo(callback:() ->() = { _ in }) { callback() } 

:そのために、私はとコールバックパラメータを取り、私の機能を定義しました

Cannot convert value of type '()' to expected argument type '() ->()' 

誰もこの問題が発生しましたか?私はVoidを使うことを含め、複数のことを試みました。

ありがとうございました!

答えて

3

あなたは、その関数の結果を機能しませ合格する必要があります。

foo(toBeCalled) 

toBeCalled() ->()を入力していますがtoBeCalled()を書くとき、関数が実行されます、あなたは戻り値の型()を取得しています。

+0

ありがとうございました!私は以前にそれを試していたが、別のエラーがあったが、今回はうまくいった。 – BLC

関連する問題