问题标签 [dispatch-queue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
881 浏览

swift - 快速调度队列和 SVProgressHUD

我一直在设计一个分析文本行的应用程序,我想使用 SVProgressHUD 来显示它的进度。

这是我的代码:

分析成功,HUD显示正常,当count到达时total,进程卡住,SVProgressHUD停止在max状态,程序停止。程序有什么问题?

我使用 Dispatchqueue 错了吗?我是否必须调用其他东西来释放后台进程或其他东西?

我试过交换//Analyzing lineand SVProgressHUD.show...,但还是不行。我最初在没有 dispatchqueue 的循环中使用 SVProgress,但是只有在分析(完整循环)完成后,进度 hud 才会移动,这是一个问题。

任何帮助,将不胜感激。

谢谢你。

0 投票
1 回答
567 浏览

swift4 - Dispatchqueue 后台线程更新在 iOS 12 上不起作用

我有以下代码可以完美运行11.4.1但失败了12

谁能在这里指出我的错误?

更新

如果我像这样在块中添加打印语句,代码似乎可以工作,

0 投票
3 回答
2159 浏览

swift - 按顺序执行异步操作的正确方法

我需要对数组中的每个元素执行一个异步操作,一次一个。此操作回调主队列。

WebService 调用没有回叫 - 我认为这告诉我主队列被阻塞,但我不明白为什么。

0 投票
1 回答
986 浏览

ios - 如何在后台队列中获取对象的领域结果,然后在主线程上使用它

我是Realm的新手。我有 db Reaml 并显示了一些从 db 到 Tableview 的数据。

我的代码:

在这种情况下,我收到此错误:

如何使用从后台线程到主线程的领域对象来重新加载我的表格视图?

0 投票
1 回答
35 浏览

ios - 当更新我的 UI 以响应异步操作时,我应该在哪里调用 DispatchQueue?

在我的 iOS 应用程序中,我提出了很多网络请求。当这些请求成功/失败时,会触发视图控制器中的委托方法。委托方法包含负责更新 UI 的代码。在以下示例didUpdate(foo:)中是委托方法,并且presentAlert(text:)是我的 UI 更新。

如果没有DispatchQueue,代码将如下所示:

当谈到使用DispatchQueue以确保我的 UI 将快速更新时,我开始失去判断代码中实际发生的事情的能力。以下两种实现之间有什么区别吗?

第一种方式:

第二种方式:

  • 我采用哪种方法有关系吗?似乎在presentAlert函数内部有 DispatchQueue 块更好,所以我不必包括DispatchQueue.main.async任何我想调用的时间presentAlert

  • 当您(或您正在使用的框架)将自己“移动”到后台队列时,是否只需要显式地将块发送到主队列?

  • 如果有任何外部资源可以帮助我理解 GCD,请告诉我!

0 投票
0 回答
196 浏览

swift - swift 语言中是否有任何现有机制可以通过单个队列中的闭包来级联函数调用?

我的任务是相对于彼此同步调用具有特定顺序的函数。

我实现了我的功能,但由于某种原因,当我检查它时,我发现了一个异常。假设您列出了解决哪些权限的调用列表,并且当您停止解决第一个请求约 1 分钟时,其他权限将通过

0 投票
2 回答
5777 浏览

swift - swift中DispatchQueue类型之间的区别

据我了解,在 swift 中有 3 种类型的 DispatchQueue:

  • Main(串行) (主线程)
  • 全局(并发) (后台线程并行工作)
  • 自定义(并发或串行)

每个都可能工作(异步或同步)

第一个问题:

它是仅在 UI 线程上工作而不在另一个线程上工作的主队列吗?如果答案是肯定的,如何DispatchQueue.Main.async不阻塞 UI 线程。DispatchQueue.global如果回答否,只要DispatchQueue.Main.async在另一个线程中工作,使用有什么好处。

第二个问题:

DispatchQueue.global (async)DispatchQueue.global (sync)之间有什么区别,只要这个队列工作Concurrent 以及在哪里使用每个?

第三个问题:

什么是区别

  1. (串行和同步)
  2. (并发和异步)
0 投票
1 回答
76 浏览

ios - 如何停止现有的调度队列并开始新的?

在这里,如果我再次输入 textFieldChanged,我想取消现有的调度并重新开始。

0 投票
1 回答
41 浏览

swift - 在继续之前如何等待操作完成?

我有一个主要功能(buttonPressed),它应该打印出一个 Jsonfile。

为了获取 Jsonfile,我做了一个函数,它接受参数并下载信息并返回 Jsonfile。当然,这需要相当长的时间,因此 myFunction 中的代码即使没有收到数据也已经执行。

(我正在使用 Alamofire 和 SwiftyJSON)

有没有办法在 JsonFile 完成加载后返回它?

0 投票
1 回答
26484 浏览

swift - DispatchQueue:不能在非主线程上使用 asCopy = NO 调用

UIAlertController将主线程上的内容呈现为:

我从 anyUIViewController中调用该方法:

我得到了正确的输出。

但在控制台中,我收到以下消息:

[断言] 不能在非主线程上使用 asCopy = NO 调用。

我在这里做错了什么或者我可以忽略此消息吗?

编辑

感谢@NicolasMiari:

添加以下代码未显示任何消息:

以前它在控制台中显示消息的原因可能是什么?