3
クロージャでは、クロージャによってキャプチャされた値だけでなく、同じ名前を何らかの形で使用できます。同じ名前の迅速なキャプチャ値
func load(withResource resource: Resource) {
var data: A?
var error: Error?
load(resource: resource) { (result, error) in
data = result // Ok!
error = error // error!
}
print("data: \(data), error: \(error)")
}
私たちは格納されたプロパティを話していた場合self
を使用してのようなものがあるかどうかを考えていますが、これらのVARSは、関数スコープ内で宣言されています。
error
の名前を変更するのが最も簡単な方法ですが、別の方法があるかどうか疑問に思っていました。
ありがとう!素晴らしい答え!プリントは本当に私のプロジェクトで間違いです。私はセマフォを使用していましたが、これは私がペーストしたコードで意味をなさないと思います。 – richy