当前位置: 首页 > 知识库问答 >
问题:

Swift中是否有类似于Java的“未来”的东西?

丁阎宝
2023-03-14

Java有Future或FutureTask,可以在新线程中运行任务。然后,将执行结果返回到原始线程。Swift中是否有任何功能可以实现这一点?

共有3个答案

夏立果
2023-03-14

如果苹果确实在Swift中实现了未来或promise,他们会这么说吗?毕竟,他们总是避免谈论未来的产品

无论如何,最初的问题似乎通常是关于异步工作的方法,而不一定是专门使用Futures/Promises风格的模型。因此,虽然其他答案中提到的第三方库非常适合该模型,但您也可以在没有该模型的情况下使用相同的iOS

NSOperationQueue().addOperationWithBlock {
    // do background work
    NSOperationQueue.mainQueue().addOperationWithBlock {
        // back to main thread for follow up work
    }
}
虞高雅
2023-03-14

语言没有提供(意思是标准库),但是你可以自己滚动或者简单地使用一个库,比如https://github.com/Thomvis/BrightFutures

谢同化
2023-03-14

你正在研究一种叫做未来和promise的语言结构。您可以找到一些示例,例如:

  • https://bitbucket.org/al45tair/async(Swift中类似C#的异步/等待原语)
  • https://github.com/mxcl/PromiseKit(promise套件http://promisekit.org/)
  • 前面提到https://github.com/Thomvis/BrightFutures

然而,语言本身却忽略了这一点。

 类似资料:
  • Mac OS X和iOS有一个名为的不错的小类。它是一个单例,可让您存储字符串、数组和原语,并且您始终可以实现一些方法来向其添加自定义对象。当您需要存储快速设置而无需处理文件操作(例如,存储最后选择的字体名称)时,它非常有用。 Java有类似这样简单的东西吗?我希望能够存储用户的最后设置,以便在程序重新加载时重新加载类似的状态,但我不确定在Java中最好的方法是什么。

  • 问题内容: 我想检查一个对象是否是类的实例或的子类。 例如,如果is是类,我想成为并且也要成为。 我希望它也适用于装箱的原始类型。例如,如果是那么应该是。 有这样的事吗?如果没有,如何实现这种方法? 问题答案: Class.isInstance可以满足您的需求。 当然,如果可以使用它,则不应该使用它,但是对于反射场景,它通常派上用场。

  • 问题内容: 我从来没有见过这样的声明,它是否存在于Java世界中? 问题答案: Java的版本是-它创建指定类型的新对象。 在Java中,内存是为您管理的,因此您不能显式或对象。

  • 我想用超文本标记语言检查某个文本,比如“无值”,如果存在,就给它赋值0。有人知道怎么做吗?(谷歌了很多,但没有找到任何相关的东西)

  • 问题内容: Java中是否有类似.NET的东西? 问题答案: 下议院郎有它。或者你可以扔一个。

  • 问题内容: C#属性(我的意思是get和set方法)是一个非常有用的功能。Java是否也具有类似于C#属性的内容。我的意思是我们如何在Java中实现类似以下C#代码的内容: 问题答案: 不,Java没有等效性。它只有访问器和更改器方法,以及getter和setter方法的奇特名称。例如: