令人惊讶的是,谷歌搜索没有给我任何回复。
我在 Android 上做什么:
void doSomethng(Runnable r){
r.run();
}
这只是在发送类的上下文中传递一些代码块,然后按需执行该 block 。
我怎样才能用 Swift for iOS 做同样的事情?
Best Answer-推荐答案 strong>
获取没有参数且没有返回值的 block 的函数的语法如下:
func doSomethng(runnable: () -> ()){
runnable()
}
如果你打算广泛使用这样的 block ,你可以为它定义一个特殊的类型:
typealias Runnable = () -> ()
func doSomethng2(runnable: Runnable){
runnable()
}
我也建议你查看这个网站 fuckingclosuresyntax.com快速了解 Swift 中 block /闭包的语法。
如果您需要在单独的线程中运行 block ,请检查 GCD
关于ios - Swift 对 Java 的 Runnable 的模拟,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39203203/
|