2017-12-25 13 views
-1

このコードを理解したいと思います。私はSwiftには新しいです。このコードスニペットは私にとって紛らわしいものです。前もって感謝します。省略記号のリストコードスニペットの説明Swift

let query = SomeClass.someMethod{ $0 
    .person{ $0 
     .name() 
    } 
} 
+2

があるのですか?このコードに何か他に何かありますか? – gonczor

+2

'$ 0'をメソッド呼び出しから分離しないと、おそらく' $ 0.person {...} 'と' $ 0.name() 'は分かりません。 – Hamish

答えて

0

$ 0は省略名です。 Swiftは、インラインクロージャに自動的に簡略化された引数名を提供します。これは、クロージャの引数の値を$ 0、$ 1、$ 2などの名前で参照するために使用できます。

だから、このメソッドを書き換えることができます。

let query = SomeClass.someMethod { parameter in 
    parameter.person{ 
     parameter.name() 
    } 
} 

パラメータは、あなたが理解していないことを、あなたが理解して何をすべきかどうクロージャに渡すパラメータ

関連する問題