2016-08-29 7 views
2

驚いたことに、Google検索では何も返されませんでした。私は、Android上で何 :単に需要により、このブロックを実行して送信するクラスのコンテキストでコードのいくつかのブロックを渡すとさJava RunnableのSwiftのアナログ

void doSomethng(Runnable r){ 
r.run(); 
} 

。 iOS用のSwiftでこれを行うにはどうすればよいですか?

+0

使用スウィフトの閉鎖にブロックを実行する必要がある場合 –

答えて

0

構文をパラメータなしでブロックを取得し、戻り値を持たない機能については、次のされています

func doSomethng(runnable:() ->()){ 
    runnable() 
} 

は、使用しようとしている場合そのようなブロックは、それに特別なタイプを定義することができます:

typealias Runnable =() ->() 

func doSomethng2(runnable: Runnable){ 
    runnable() 
} 

私はまたchec kこのサイトfuckingclosuresyntax.comは、Swiftでブロック/クロージャの構文をすぐに理解するためのものです。

あなたはGCDとの個別のスレッドチェックGCD

0

あなたが閉鎖でこれを行うことができます。

func doSomethng(r:() ->()) { 
    r() 
}