grand-central-dispatch相关内容

使用音频单元记录回调[iOS] [Swift]处理数据

我正在创建一个跨平台的VOIP应用程序,该应用程序使用UDP发送和接收数据.我正在使用音频单元进行实时记录和播放.在处理原始数据时,通信是快速而流畅的,但是当我涉及到像 OPUS 这样的编解码器时,从iPhone编码并发送到Android的数据在其间会发出咔嗒声.我一直在努力解决这个问题. 从Android到iPhone的编码数据可以完美播放,并且没有任何问题.我正在使用 TPCircula ..
发布时间:2020-11-20 05:01:37 移动开发

DispatchGroup:检查有多少个“已输入"?

我正在使用Swift 3 DispatchGroup等到多个异步操作完成(根据此答案,其中完美且符合预期. 有没有一种方法可以检查已经输入了多少个操作,例如dispatchGroup.count或类似的东西? 解决方案 您可以在调试说明中看到进入该组的次数: OS_dispatch_group:group [0x60000221d950] = {xref = 3,ref = 3 ..
发布时间:2020-11-20 05:01:29 其他开发

(iOS)dispatch_async()与NSOperationQueue

由于斯坦福大学的CS193p课程(在iTunes U上)以及Big Nerd Ranch的iOS编程书,我学会了iOS编程.在这两种方法中,他们都建议使用dispatch_async(),dispatch_get_main_queue()等来处理线程和并发操作.但是,在WWDC 2012上有关构建并发UI的会议上,发言人建议使用NSOperationQueue. dispatch_*()和N ..
发布时间:2020-11-20 05:01:22 其他开发

如何使用NSCache从UICollectionView中的Web服务器异步加载图像

使用NScache从UICollectionView中的Web服务器加载图像时,我遇到一些问题. 问题: 图像显示不正确: 有时它们未显示在相应的单元格中 或 图像在滚动变化 情况: 我有3个数组,可以从Web服务器的viewDidLoad()函数中正确加载.这些数组是:vPrice,vTitle和vImages_api 我对单元格的自定义类有: ..
发布时间:2020-11-20 05:00:03 其他开发

Swift 3 GCD API更改后的dispatch_once

在语言版本3中进行更改后,Swift中dispatch_once的新语法是什么?旧版本如下. var token: dispatch_once_t = 0 func test() { dispatch_once(&token) { } } 这些是对libdispatch的更改. 解决方案 来自 doc : 派遣 免费功能dispatch_once在以下版本 ..
发布时间:2020-11-20 05:00:00 移动开发

performSelectorOnMainThread:和主队列上的dispatch_async()有什么区别?

我在修改线程内的视图时遇到问题.我试图添加一个子视图,但是显示大约需要6秒钟或更长时间.我终于让它工作了,但我不知道它到底是怎么做到的.所以我想知道为什么它起作用,以及以下方法之间的区别是什么? 这有效-立即添加了视图: dispatch_async(dispatch_get_main_queue(), ^{ //some UI methods ej [view add ..

Swift命令行程序中的CFRunLoop

我正在使用第三方框架在Swift中编写命令行应用程序(如果我正确理解代码),当套接字接收数据时,该框架依赖GCD回调来完成某些操作.为了更好地理解该框架,我一直在研究该框架的作者与该框架一起编写的示例Cocoa应用程序. 因为示例应用程序是Cocoa应用程序,所以运行循环是自动处理的.我包括示例应用程序(MIT许可证)中的代码片段,以提供有关其工作原理的想法: class AppDel ..
发布时间:2020-11-20 04:58:54 移动开发

如何使用DispatchGroup/GCD快速执行函数?

在刷新集合视图之前,我需要依次运行两个函数.第一个函数从firebase中提取autoid,并将其写入数组.然后,第二个函数(getLocation)使用该数组对Firebase进行另一个调用,以检索每个autoid下的值(位置). 我正在使用DispatchGroup()来确保第一个函数在第二个函数开始之前完成.但是我还需要第二项功能在通知刷新集合视图之前完成. 我已经编写了一个基本 ..

发射:在GCD托管信号处理程序中休眠

当我尝试在由Grand Central Dispatch管理的SIGTERM处理程序中睡眠时,我在启动的托管守护程序中遇到了一种奇怪的情况,如此处。 一切正常,在收到SIGKILL之前,我确实得到了SIGTERM信号处理程序。不要在SIGTERM处理程序中睡觉。但是,一旦我入睡,即使是极短的时间,例如 usleep(1); ,我也根本不会得到SIGTERM处理程序,而是 顺便说一句,我 ..
发布时间:2020-10-14 21:46:54 其他开发