令人惊讶的是,谷歌搜索没有回复我。 我在Android上做了什么:
void doSomethng(Runnable r){
r.run();
}
这只是在发送类的上下文中传递一些代码块,然后按需执行此块。 我如何使用Swift for iOS做同样的事情?
答案 0 :(得分:0)
您可以使用闭包执行此操作:
func doSomethng(r: () -> ()) {
r()
}
答案 1 :(得分:0)
获取没有参数的块且没有返回值的函数的语法如下:
func doSomethng(runnable: () -> ()){
runnable()
}
如果要广泛使用此类块,可以为它定义一种特殊类型:
typealias Runnable = () -> ()
func doSomethng2(runnable: Runnable){
runnable()
}
我还建议您查看此网站fuckingclosuresyntax.com,以便快速了解Swift中阻止/关闭语法的想法。
如果您需要在单独的线程中运行块,请检查GCD