grand-central-dispatch

    1热度

    1回答

    我试图在下载后执行segue。 我首先尝试了BlockOperation,但是我失败了。 以下是我的代码。我想先设置[BlockOperation]的数组。 然后,试图在此数组中追加Alamofire.download,但失败。 我不确定哪个部分出错了,也许每个块需要不同的名称? 请帮帮我。

    1热度

    1回答

    我制作了DispatchGroup并运行了2个异步任务。一个在main上,另一个在global()上。 只要我明白,DispatchGroup.notify的块应该在所有任务完成后调用,但它不会像我想的那样工作。 class Que { let group = DispatchGroup() init() { group.notify(queue: .main)

    0热度

    1回答

    我正在进行两个异步网络调用,并希望使用调度组等待直到调用完成,然后继续。我的程序很冻结。 class CommentRatingViewController: UIViewController, UITextViewDelegate { let myDispatchGroup = DispatchGroup() @IBAction func saveRatingComment(_ sende

    0热度

    1回答

    我试图从for循环中的firebase中获取一些数据,但它不起作用。 我知道我应该使用DispatchQueue,但我无法理解我应该如何使用它与Firebase。 我有一个循环: for i in 0..<Exercice.workout.count{ exercice = (Exercice.workout[i] as! [[Any]])[0][0] as! String p

    -2热度

    1回答

    我有一个被多次调用的方法。但我只需要在最后的方法调用中采取行动。我试图dispatch_async,但没有工作,因为仍然被呼叫排队: -(void)doingSomething:(NSString*)someValue { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    -1热度

    1回答

    - (void)viewDidLoad { [super viewDidLoad]; dispatch_queue_t queue = dispatch_queue_create("myQueue", DISPATCH_QUEUE_CONCURRENT); for (int i = 0; i < 10000; i++) { dispatch_async(q

    0热度

    1回答

    我创建了一个用于下载数据的网络文件,并且我想将数据分配给另一个视图控制器,以便我可以使用注释填充地图。数据下载成功,但我无法将其分配给视图控制器。当我将网络代码包含在视图控制器中并使用DispatchQueue.main.async时,我只能使它工作。我想保持网络文件和视图控制器分开。任何见解将不胜感激。提前为许多代码行道歉。 联网文件如下: import UIKit class Networ

    1热度

    1回答

    我怎么能等待本身具有异步操作完成的功能? 让我给你举个例子: Function_A获取从图库中的照片。提取操作将使用提取闭包异步执行。 我打电话Function_A在Function_B,我想等待照片抓取操作完成,然后继续我的代码。 我已经试过什么: 我用调度组,但并未奏效。我也尝试在同步块中调用Function_A,这也是不成功的。 我怎么能等待这个操作完成?可以因为将读取操作运行到另一个队列而

    -1热度

    1回答

    我有存储在远程数据库中的博客文章。用户可以评价和/或评论每篇文章。所以我需要关闭1或2个不同的网络请求。但我必须等到他们(或它)完成。 什么是以下情形的最佳做法: func updateRatingAndComment(){ if commentTextView.text != "" { updateComment() } if ratingVie

    4热度

    2回答

    我有这样的代码: let goAheadAction = UIAlertAction(title: "Go Ahead", style: .default) { _ in let dispatchGroup = DispatchGroup() dispatchGroup.enter() Server.POSTRequest(accessPoint: "/UserSe