相关疑难解决方法(0)

dispatch_group_leave在swift中崩溃

这很少发生.这是堆栈跟踪的最后一行:

0  libdispatch.dylib              0x0000000197a85a9c dispatch_group_leave + 48
Run Code Online (Sandbox Code Playgroud)

dispatch_group_leave在一个完整的闭包中调用,它被调用如下:

  dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
                { () -> Void in
                    let query = HKStatisticsCollectionQuery(quantityType: quantityType,
                        quantitySamplePredicate: nil,
                        options: statisticOptions,
                        anchorDate: anchorDate,
                        intervalComponents: interval)
                    query.initialResultsHandler = {

                        complete()
Run Code Online (Sandbox Code Playgroud)

所以我们调度到后台线程,运行HKStatisticsCollectionQuery,然后调用一个名为complete的函数参数闭包.内部完成是调用dispatch_group_leave并发生崩溃的地方.

任何想法都非常感谢!谢谢!

closures ios swift healthkit

12
推荐指数
2
解决办法
5352
查看次数

DispatchGroup:检查"输入"的数量

我正在使用Swift 3 DispatchGroup等待多个异步操作完成(根据这个答案,它完美且按预期工作.

有没有办法检查已经输入了多少操作,例如dispatchGroup.count或类似的操作?

grand-central-dispatch swift3

5
推荐指数
2
解决办法
1496
查看次数