问题标签 [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 投票
1 回答
5269 浏览

ios - 如何在目标 c 中创建调度队列?

我想在目标 c 中使用以下代码。

0 投票
1 回答
191 浏览

ios - 如果当前线程相同,如何通过块

我写了一个类来处理DispatchQueues。我写了一个静态方法来调用main线程。我将 acompletionHandler作为参数传递,当前仅访问主线程并在主线程块内调用此完成处理程序。当这个方法被同时调用几次时,这会导致挂起,所以我想检查方法是否已经被主线程调用,那么我不应该调度队列而不是我只是调用完成处理程序但是当我调用它时completionHandler它会进入一些其他线程但不作为主线程。

这是我的课

0 投票
2 回答
2713 浏览

ios - 如果应用程序在后台,iOS Swift Timer 不会触发

我正在开发一个 Cocoapod 库,我必须在计时器触发时调用一个函数。我在 iOS 应用程序中使用那个 Cocoapod,当应用程序进入后台状态时计时器没有触发

private var timer : DispatchSourceTimer? = nil

0 投票
1 回答
63 浏览

swift4 - 文本字段扩展不更新屏幕上的文本 (swfit4)

下面的扩展代码会更新文本,但不会更新最后一个字母。因此,如果她在文本字段中键入单词,则屏幕上的文本仅显示 sh。

0 投票
1 回答
586 浏览

swift - Swift 3 - DispatchQueue 中的函数

我在里面调用了一个函数DispatchQueue.main.async。这是我的代码:

我希望让它等到所有任务DispathcQueue完成。它有效,但问题是我的功能uploadPhoto()。它不能等到uploadPhoto()完成它的任务。有什么办法解决这个问题吗?谢谢!

0 投票
2 回答
597 浏览

ios - 在 iOS swift 中异步/并发/并行运行任务

我如何一次执行所有上述任务以提高速度。

0 投票
1 回答
1071 浏览

swift - 在 DispatchQueue.main.async 上运行代码是否更慢?

在从该 API 返回数据的闭包中创建使用来自 API 的数据的标签时:

我必须将标签的创建放回主线程。

我的问题很简单:以这种方式添加标签会减慢我的应用程序的速度吗?如果是这样,有什么更好的方法来实现这一点?

当我测试添加标签而不异步添加标签时,它肯定看起来更快。

0 投票
0 回答
306 浏览

ios - 在主线程上检索 HealthKit 数据导致随机用户的应用程序崩溃 - iOS - Swift

我在我的应用程序上使用 HealthKit 来读取用户的健康数据并将数据显示在我的应用程序的适当位置。对于一些生产用户(主要影响是对iPhone X用户),它在使用 HealthKit(在主线程上)检索健康数据时崩溃。但我无法重现它。

是我开始获取用户权限并读取健康数据的代码。

是来自fabric的崩溃信息。

根据崩溃信息,它在从 HealthKit 读取 DOB 时崩溃了,我相信获取 DOB没有问题,我认为崩溃正在发生,因为我正在读取主线程上的健康数据,它可能会遇到一些多线程问题. 尝试了多种设备,但我无法重现该问题。

HealthKit1)关于为什么从on读取数据Main Thread会导致崩溃的任何观点?

2)我正在运行的完成块是否Main Thread 已过期/已解除分配并可能导致崩溃?

谢谢。

0 投票
1 回答
3958 浏览

ios - 多线程在swift ios中并行执行多个任务

我知道队列的创建并且能够执行单个任务,但是我如何并行执行多个任务。

并发队列---->

BackgroundQueue 没有优先级默认--->

具有优先级的后台队列---->

回到主队列---->

所有都是异步的,但是我如何一次执行多个方法我应该如何快速编码。

0 投票
1 回答
275 浏览

ios - 在 Swift 中使用 DispatchQueue 进行同步处理

我有一种方法可以处理我从服务器收到的事件。可以从不同类的多个位置调用该方法。我想使用 DispatchQueue/Serial Queue 同步事件的处理以丢弃多个调用中的重复事件。我知道调度队列以及它是如何工作的,但我无法为我的问题找到最佳解决方案。

实现:通过同步我想确保顺序处理,丢弃重复的事件。

任何帮助表示赞赏。谢谢!