grand-central-dispatch相关内容

ARC 是否支持调度队列?

我正在阅读苹果关于“调度队列的内存管理"的文档: 即使您实现了垃圾收集应用程序,您仍然必须保留和释放您的调度队列和其他调度对象.Grand Central Dispatch 不支持回收内存的垃圾收集模型. 我知道 ARC 不是垃圾收集器,但我想确定我不需要 dispatch_retain 和 dispatch_release 我的 dispatch_queue_t 解决方案 简 ..
发布时间:2021-12-02 18:26:20 移动开发

如何等待异步调度块完成?

我正在测试一些使用 Grand Central Dispatch 进行异步处理的代码.测试代码如下所示: [object runSomeLongOperationAndDo:^{STAssert…}]; 测试必须等待操作完成.我目前的解决方案是这样的: __block BOOL 完成 = NO;[对象 runSomeLongOperationAndDo:^{STAssert…完成 = 是;} ..
发布时间:2021-12-02 17:53:17 移动开发

如何在 Swift 3、4 和 5 中编写 dispatch_after GCD?

在 Swift 2 中,我能够使用 dispatch_after 使用大中央调度来延迟操作: var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC)))dispatch_after(dispatchTime, dispatch_get_main_qu ..
发布时间:2021-12-02 16:13:26 移动开发

dispatch_after - Swift 中的 GCD?

我已经浏览了 iBook 来自 Apple,找不到它的任何定义: 谁能解释一下dispatch_after的结构? dispatch_after(, , ) 解决方案 更清晰的结构思路: dispatch_after(whe ..
发布时间:2021-12-02 15:14:40 移动开发

在启动另一个块之前等待两个异步块执行完毕

在使用 GCD 时,我们希望等到两个异步块被执行并完成,然后再进行下一步的执行.最好的方法是什么? 我们尝试了以下方法,但似乎不起作用: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ {//块1});dispatch_async(dispatch_get_global_queue(D ..
发布时间:2021-12-01 17:57:44 C/C++开发

NSOperation 与 Grand Central Dispatch

我正在学习 iOS 的并发编程.到目前为止,我已经阅读了关于 NSOperation/NSOperationQueue 和 GCD.使用 NSOperationQueue 而不是 GCD 反之亦然的原因是什么? 听起来像 GCD 和 NSOperationQueue 从用户那里抽象出 NSThreads 的显式创建.然而,我不清楚这两种方法之间的关系,所以任何反馈都值得赞赏! 解决方案 ..
发布时间:2021-12-01 17:53:51 移动开发

如何在延迟后触发块,例如 -performSelector:withObject:afterDelay:?

有没有办法在延迟后使用原始参数调用块,例如使用 performSelector:withObject:afterDelay: 但使用类似 int/double/float? 解决方案 我认为您正在寻找 dispatch_after().它要求您的块不接受任何参数,但您可以让该块从您的本地范围捕获这些变量. int parameter1 = 12;浮动参数2 = 144.1;//延迟执行我 ..
发布时间:2021-12-01 17:48:32 C/C++开发

如何在 Swift 3 中创建调度队列

在 Swift 2 中,我可以使用以下代码创建队列: let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT) 但这不能在 Swift 3 中编译. 在 Swift 3 中编写此代码的首选方式是什么? 解决方案 创建并发队列 let concur ..
发布时间:2021-12-01 17:39:58 移动开发

在 Objective-C 中使用 GCD 的 dispatch_once 创建单例

如果您可以针对 iOS 4.0 或更高版本 使用 GCD,是在 Objective-C 中创建单例的最佳方式吗(线程安全)? + (instancetype)sharedInstance{静态 dispatch_once_t 一次;静态 id 共享实例;dispatch_once(&once, ^{sharedInstance = [[self alloc] init];});返回共享实例 ..
发布时间:2021-12-01 17:22:26 C/C++开发

等待带有异步网络请求的 swift for 循环完成执行

我想要一个 for in 循环向 firebase 发送一堆网络请求,然后在方法完成执行后将数据传递给新的视图控制器.这是我的代码: var datesArray = [String: AnyObject]()对于locationsArray中的键{让 ref = Firebase(url: "http://myfirebase.com/" + "\(key.0)")ref.observeSin ..
发布时间:2021-11-30 13:43:41 移动开发

iOS - swift 3 - DispatchGroup

我创建了这个基本架构来处理我的网络问题, 我想保持模块化和结构化: public class NetworkManager {public private(set) var queue: DispatchQueue = DispatchQueue(label: "com.example.app.dispatchgroups", attributes: .concurrent, target ..
发布时间:2021-11-17 02:13:29 其他开发

Swift UI 被高频@StateObject 更新淹没?

场景 一个简单的 SwiftUI App,由一个带有两个选项卡的 TabView 组成.App 结构有一个 @StateObject 属性,它被 simulateFastStateUpdate 重复且非常快速(每秒 30 次)更新. 在这个例子中,simulateFastStateUpdate 没有做任何有用的工作,但它非常类似于一个快速更新应用程序状态的真实函数.该函数在短时间内对后 ..
发布时间:2021-09-02 19:31:45 其他开发

在 Swift CLI 中使用 GCD

所以我尝试在 CLI 中使用 GCD.为了测试它,我写了一些这样的代码: 导入基础变量 i = 0打印(“一个:",我)dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED,0)){对于 1 中的 n.. 这个输出是:一:0乙:0时间:9电子:9 几秒钟后打印最后一行.我想知道的是在 d 发生了什么?我放在那个 ..
发布时间:2021-09-02 18:31:41 其他开发

调度组不返回获取的数据

我正在尝试使用DispatchGroup从多个请求中获取数据.我不明白为什么print(weatherData.fact.pressureMm!)可以正常工作,但是数据没有追加到dataArray和print(dataArray?[0] .fact.pressureMm ??"nil")中,所以打印为nil. 我也尝试从complitionHandeler打印数据,结果是相同的. 我如 ..
发布时间:2021-05-13 19:03:58 其他开发

Grand Central Dispatch替代使用NSTimer的方法-多次无效

我要使用的 dispatch_source_t 出现问题.我想用它来延迟 PHChange 的处理5秒钟,因为 PHChange 可以在短时间内多次发生.我将不胜感激.本质上,我想取消以前的 dispatch_source_t 计时器,就像 NSTimer 一样. @property(非原子的,强的)dispatch_source_t libraryChangedTimer;dispatch_ ..
发布时间:2021-05-13 19:03:55 其他开发

在主线程中使用后台线程的快速领域插入数组

我有一组通过rest响应接收的对象,我想将它们插入背景线程中的realm db中,并在 main 线程的uicollectionview中使用.收到休息的响应后,我将调用回调函数,并将数组插入后台线程中的db中.当我尝试访问在后台插入的对象的主线程属性时出现的问题,我得到了异常(请参见下文),我认为这是由于尚未插入对象而引起的 由于未捕获的异常"RLMException"而终止应用程序,原因 ..
发布时间:2021-05-13 19:03:52 其他开发

如何将值从Helper类返回到视图控制器?

我有一个viewcontroller,它在viewDidLoad中调用了一个HelperClass类方法,如下所示: -(void)viewDidLoad {[super viewDidLoad];self.usersArray = [SantiappsHelper fetchUsers];} 该类方法如下: +(NSArray *)fetchUsers {NSString * urlS ..
发布时间:2021-05-13 19:03:49 其他开发