OGeek|极客世界-中国程序员成长平台

标题: ios - Swift 对 Java 的 Runnable 的模拟 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:23
标题: ios - Swift 对 Java 的 Runnable 的模拟

令人惊讶的是,谷歌搜索没有给我任何回复。 我在 Android 上做什么:

void doSomethng(Runnable r){
r.run();
}

这只是在发送类的上下文中传递一些代码块,然后按需执行该 block 。 我怎样才能用 Swift for iOS 做同样的事情?



Best Answer-推荐答案


获取没有参数且没有返回值的 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4