490得票9回答
NSOperation与Grand Central Dispatch的区别

我正在学习iOS并发编程。到目前为止,我已经阅读了关于NSOperation/NSOperationQueue和GCD的内容。使用NSOperationQueue和GCD的原因是什么?它们之间的关系不太清楚,希望能得到一些反馈! 听起来GCD和NSOperationQueue都可以将NSThr...

203得票10回答
等待Swift的for循环与异步网络请求执行完毕

我想使用for-in循环发送一堆网络请求到Firebase,然后在方法执行结束后将数据传递给一个新的视图控制器。这是我的代码: 我想使用for-in循环发送一堆网络请求到Firebase,然后在方法执行结束后将数据传递给一个新的视图控制器。这是我的代码:var datesArray = [S...

95得票17回答
当NSOperationQueue完成所有任务时收到通知

NSOperationQueue有一个waitUntilAllOperationsAreFinished方法,但我不想同步等待它完成。 我只是想在队列完成时隐藏UI中的进度指标。 最好的方法是什么? 我无法从我的NSOperation发送通知,因为我不知道哪个操作将是最后一个,并且当接收到...

84得票6回答
NSOperation和NSOperationQueue的工作线程与主线程的区别

我必须在我的应用程序中执行一系列的下载和数据库写入操作。我正在使用NSOperation和NSOperationQueue来完成这个任务。 这是应用场景: 获取一个地方所有的邮政编码。 对于每个邮政编码,获取所有房屋信息。 对于每栋房屋,获取居民详细信息。 正如上述所说,我为每个任务...

56得票7回答
我该如何使用NSOperationQueue和NSURLSession?

我正在尝试构建一个批量图像下载器,可以在运行时将图像添加到队列中进行下载,并且可以查看进度和下载完成时间。 根据我的阅读,似乎NSOperationQueue用于队列功能,而NSURLSession用于网络功能是最佳选择,但我不知道如何同时使用这两个功能。 我知道我可以将NSOperati...

52得票6回答
将NSOperation子类化为并发和可取消的

我无法找到有关如何子类化NSOperation以支持并发和取消的良好文档。我读了苹果的文档,但我找不到"官方"示例。 以下是我的源代码:@synthesize isExecuting = _isExecuting; @synthesize isFinished = _isFinished; ...

50得票4回答
如何取消NSBlockOperation

我有一个长时间运行的循环,我想在后台使用NSOperation运行它。 我想使用一个块:NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ while(/* not canceled*/){...

41得票7回答
在iPhone上使用NSOperation

我一直在寻找一些具体的场景,以了解在应用程序中何时使用 iPhone 上的 NSOperation 是一种理想的工具。据我所知,这是一个包装器,可用于编写自己的 threaded 代码。我还没有看到任何使用它的 Apple demo 应用程序,并且我想知道是否我错过了一个很棒的工具,而不是使用...

38得票5回答
如何使用Swift中的URLSession downloadTask按顺序下载多个文件

我有一个应用程序需要下载多个大文件。我希望它可以一个接一个地按顺序依次下载每个文件,而不是并发下载。当同时进行下载时,应用程序会过载并崩溃。 因此,我正在尝试将downloadTaskWithURL包装在NSBlockOperation中,然后在队列上设置maxConcurrentOpera...

37得票3回答
核心动画警告:删除了未提交CATransaction的线程。

我遇到了以下警告问题: CoreAnimation: 警告,删除具有未提交 CATransaction 的线程;设置 CA_DEBUG_TRANSACTIONS=1 在环境中记录回溯。 我使用 NSOperation 对象执行一些计算,完成后向 AppDelegate 发送消息,然后隐藏进...