草庐IT

grand-central-dispatch

全部标签

ios - 使用 NSTimeInterval 创建 dispatch_time_t

我有一个NSTimeInterval值,我需要用它创建一个dispatch_time_t值。这是我尝试过的:lettimeInterval:NSTimeInterval=getTimeInterval()//ERROR:Binaryoperator'*'cannotbeappliedtooperandsoftype'NSTimeInterval'and'UInt64'letdispatch_time=dispatch_time(DISPATCH_TIME_NOW,Int64(timerInterval*NSEC_PER_SEC))我理解这个错误消息,但我不知道如何摆脱它。有人可以提供一

swift - 使用 GCD 并行处理数组

我有一个大数组,我想通过将它的切片交给几个异步任务来处理它。作为概念证明,我编写了以下代码:classTestParallelArrayProcessing{letarray:[Int]varsummary:[Int]init(){array=Array(count:500000,repeatedValue:0)foriin0..(count:10,repeatedValue:0)}funccalcSummary(){letgroup=dispatch_group_create()letqueue=dispatch_get_global_queue(QOS_CLASS_USER_INI

swift - 使用 GCD 并行处理数组

我有一个大数组,我想通过将它的切片交给几个异步任务来处理它。作为概念证明,我编写了以下代码:classTestParallelArrayProcessing{letarray:[Int]varsummary:[Int]init(){array=Array(count:500000,repeatedValue:0)foriin0..(count:10,repeatedValue:0)}funccalcSummary(){letgroup=dispatch_group_create()letqueue=dispatch_get_global_queue(QOS_CLASS_USER_INI

swift - 如何以正确的方式在 Swift 中调度函数?

我一直在努力,但我就是不明白。我对编程很陌生,所以几乎每一个新步骤都是一个实验。虽然我在没有参数/返回的情况下分派(dispatch)正常闭包没有问题,但到目前为止我还不明白如何处理接受(多个)参数并最终返​​回的函数。要获得正确“变通办法”的逻辑,如果有人可以发布一个实际示例,这样我就可以看看我是否完全正确,那就太好了。如果有任何帮助,我将不胜感激...如果其他一些实际示例以更好的方式说明了该主题,请继续使用您自己的示例!假设我们想将以下函数异步分派(dispatch)到低优先级的后台队列(或者我是否犯了错误,试图在定义函数时实现分派(dispatch)而不是等到从其他地方调用它?!

swift - 如何以正确的方式在 Swift 中调度函数?

我一直在努力,但我就是不明白。我对编程很陌生,所以几乎每一个新步骤都是一个实验。虽然我在没有参数/返回的情况下分派(dispatch)正常闭包没有问题,但到目前为止我还不明白如何处理接受(多个)参数并最终返​​回的函数。要获得正确“变通办法”的逻辑,如果有人可以发布一个实际示例,这样我就可以看看我是否完全正确,那就太好了。如果有任何帮助,我将不胜感激...如果其他一些实际示例以更好的方式说明了该主题,请继续使用您自己的示例!假设我们想将以下函数异步分派(dispatch)到低优先级的后台队列(或者我是否犯了错误,试图在定义函数时实现分派(dispatch)而不是等到从其他地方调用它?!

ios - DispatchQueue.main.sync 返回 exc_bad_instruction Swift 3

我想在我的应用程序中显示一个ActivityIndi​​catorView,但是当我从主线程调用sync方法时,应用程序崩溃并出现错误:exc_bad_instruction(code=exc_i386_invopsubcode=0x0)我正在使用xcode8.0和swift3有人可以帮帮我吗?funcPOST(endpoint:NSString!,body:NSString!,vc:UIViewController?=nil)->NetworkResult{letresult=NetworkResult()DispatchQueue.main.sync{self.displayAct

ios - DispatchQueue.main.sync 返回 exc_bad_instruction Swift 3

我想在我的应用程序中显示一个ActivityIndi​​catorView,但是当我从主线程调用sync方法时,应用程序崩溃并出现错误:exc_bad_instruction(code=exc_i386_invopsubcode=0x0)我正在使用xcode8.0和swift3有人可以帮帮我吗?funcPOST(endpoint:NSString!,body:NSString!,vc:UIViewController?=nil)->NetworkResult{letresult=NetworkResult()DispatchQueue.main.sync{self.displayAct

ios - Swift 分派(dispatch)到子类扩展中的重写方法

在某些情况下,覆盖扩展中的方法签名似乎会产生不可预知的结果。以下示例演示了具有相似模式的两个不同结果。classA:UIViewController{funcdoThing(){print("dothingsuperclass")}overridefuncviewDidLoad(){print("viewdidloadsuperclass")super.viewDidLoad()}}classB:A{}extensionB{overridefuncdoThing(){print("dothingsubclass")super.doThing()}overridefuncviewDidL

ios - Swift 分派(dispatch)到子类扩展中的重写方法

在某些情况下,覆盖扩展中的方法签名似乎会产生不可预知的结果。以下示例演示了具有相似模式的两个不同结果。classA:UIViewController{funcdoThing(){print("dothingsuperclass")}overridefuncviewDidLoad(){print("viewdidloadsuperclass")super.viewDidLoad()}}classB:A{}extensionB{overridefuncdoThing(){print("dothingsubclass")super.doThing()}overridefuncviewDidL

ios - global().async 中的 main.sync 是什么意思?

在Swift中,我有时会使用这种模式。DispatchQueue.global().async{//dostuffinbackground,concurrentthreadDispatchQueue.main.sync{//updateUI}}这个模式的目的很明确。在全局线程中进行耗时计算,使UI不被锁定,并在计算完成后在主线程中更新UI。如果没有什么可计算的怎么办?我刚刚在我的项目中发现了一个逻辑//ADispatchQueue.main.sync{//dosomething}崩溃但是//BDispatchQueue.global().async{DispatchQueue.main