就像 android 中的 AsyncTask 一样,iOS 中的等价物

Posted

技术标签:

【中文标题】就像 android 中的 AsyncTask 一样,iOS 中的等价物【英文标题】:Like as AsyncTask in android what is equivalent in iOS 【发布时间】:2016-10-24 06:09:02 【问题描述】:

我刚刚开始学习 ios 编程。就像 android 中的 AsyncTask 在 iOS 中一样。

【问题讨论】:

检查这个问题***.com/questions/37801370/…希望它对你有帮助。 【参考方案1】:

没有确切的等价物,但您有几种并行执行代码的可能性:e. G。 Grand Central Dispatch、NSOperationQueue 等。

【讨论】:

我们不能串行执行代码,第二个只有在第一个完成时才开始.. @user2273146 可以,您可以创建串行或并发队列【参考方案2】:

实际上,使用 iOS 的并发技术不止一种,但我建议阅读 GCD (Grand Central Dispatch) 世界。

现在使用DispatchQueues 非常容易(在发布 Swift 3 之后),您可以查看this answer 以了解如何简单地创建一个。

另外,您可能需要查看NSOperationQueue。

如果您有兴趣,请查看Choosing Between NSOperation and Grand Central Dispatch。

希望这会有所帮助。

【讨论】:

【参考方案3】:

Swift 3.0 中最简单/最快的解决方案是:

DispatchQueue.main.async 
   // your code goes here

这会在主线程上异步执行您的代码。

【讨论】:

以上是关于就像 android 中的 AsyncTask 一样,iOS 中的等价物的主要内容,如果未能解决你的问题,请参考以下文章

Android中的AsyncTask和接口回调使用详解

android中的asynctask可不可以并行执行多个

Android SQLite 更新无法在 AsyncTask 的后台运行

Android中的线程状态 - AsyncTask详解

AsyncTask原理

从Android中的AsyncTask返回一个值[重复]