我正在学习Swift,我想简单地调用函数内部的闭包。我使用以下:Swift的简单封闭示例
var task :() -> Void
task = {
print("Test")
}
func myFunc(times: Int, task:() -> Void){
task()
}
它假设打印“测试”,但它什么都不做。我错过了什么?
我正在学习Swift,我想简单地调用函数内部的闭包。我使用以下: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()
您对“任务”进行了不必要的重新分配。您分配'{}',然后立即重新分配'printTest' – Alexander
你从不*调用函数 - 添加'myFunc(times:5,task:task)' –
你是怎么调用'myFunc'的?请记住,在'myFunc'中调用'task'是调用*参数*'任务',而不是全局。 – Hamish
@MartinR是的,那是我的错,对不起。 –