私は迅速に研究しています。私は関数の中でクロージャを単にコールしたいと思います。私は以下を使用します:Swiftを使った単純なクロージャの例
var task :() -> Void
task = {
print("Test")
}
func myFunc(times: Int, task:() -> Void){
task()
}
"テスト"を印刷すると思われますが、何もしません。私は何を取りこぼしたか?
私は迅速に研究しています。私は関数の中でクロージャを単にコールしたいと思います。私は以下を使用します:Swiftを使った単純なクロージャの例
var task :() -> Void
task = {
print("Test")
}
func myFunc(times: Int, task:() -> Void){
task()
}
"テスト"を印刷すると思われますが、何もしません。私は何を取りこぼしたか?
それが動作します。この方法:
var task :() -> Void
task = {
print("Test")
}
func myFunc(times: Int, task:() -> Void){
task()
}
//call your function this way.
myFunc(times: 2, task: task) //this will print "Test" in console.
私はスウィフトでクロージャがこのように行われていると信じています。それが役に立てば幸い。
func printTest(){
print("Test")
}
//task is a variable of type function
var task:() -> Void
task = {
}
task = printTest
printTest()
あなたは 'task'に不必要な再割り当てをしています。あなたは '{}'を割り当て、すぐに 'printTest'を再割り当てします – Alexander
「myFunc(times:5、task:task)を追加しないでください」 –
どうすれば 'myFunc'を呼びますか? 'myFunc'の' task'の呼び出しは、グローバルではなく、*引数* 'task'を呼び出していることに注意してください。 – Hamish
@MartinRはい、それは私のせいでした、申し訳ありません。 –