Questions tagged «nsoperation»

8
NSOperation vs大中央派遣
我正在学习iOS的并发编程。到目前为止,我已经阅读了有关NSOperation/NSOperationQueue和的信息GCD。使用NSOperationQueueover 的原因是什么GCD,反之亦然? 听起来既像GCD又NSOperationQueue抽象NSThreads了用户的显式创建。但是,这两种方法之间的关系对我而言尚不清楚,因此请您提供任何反馈意见!

8
等待直到带有异步网络请求的swift for loop完成执行
我希望for in循环向Firebase发送一堆网络请求,然后在该方法完成执行后将数据传递给新的视图控制器。这是我的代码: var datesArray = [String: AnyObject]() for key in locationsArray { let ref = Firebase(url: "http://myfirebase.com/" + "\(key.0)") ref.observeSingleEventOfType(.Value, withBlock: { snapshot in datesArray["\(key.0)"] = snapshot.value }) } // Segue to new view controller here and pass datesArray once it is complete 我有几个问题。首先,如何等待for循环完成并且所有网络请求完成?我无法修改observeSingleEventOfType函数,它是firebase SDK的一部分。另外,我是否会尝试通过for循环的不同迭代(有意义的希望)访问datesArray来创建某种竞争条件?我一直在阅读有关GCD和NSOperation的文章,但由于这是我开发的第一个应用程序,我有点迷茫。 注意:Locations数组是包含我需要在firebase中访问的键的数组。同样,重要的是异步触发网络请求。我只想等待所有异步请求完成,然后再将datesArray传递给下一个视图控制器。

15
NSOperationQueue完成所有任务时获取通知
NSOperationQueue 有 waitUntilAllOperationsAreFinished,但我不想同步等待它。我只想在队列完成时在UI中隐藏进度指示器。 做到这一点的最佳方法是什么? 我无法从NSOperations 发送通知,因为我不知道哪个将是最后一个,并且[queue operations]在收到通知时可能还不为空(或者更糟-已重新填充)。

6
NSOperation和NSOperationQueue工作线程与主线程
我必须在我的应用程序中执行一系列下载和数据库写入操作。我使用NSOperation和NSOperationQueue相同。 这是应用程序场景: 从某个地方获取所有邮政编码。 对于每个邮政编码,请提取所有房屋。 为每个房子获取居民详细信息 如前所述,我NSOperation为每个任务定义了一个。在第一种情况下(Task1),我正在向服务器发送请求以获取所有邮政编码。内的委托NSOperation将接收数据。然后将此数据写入数据库。数据库操作是在不同的类中定义的。从NSOperation类中,我正在调用数据库类中定义的写函数。 我的问题是数据库写操作是否发生在主线程或后台线程中?当我在A中调用它时, NSOperation我期望它在与相同的线程(不是MainThread)中运行NSOperation。有人可以在处理NSOperation和时解释这种情况吗NSOperationQueue?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.