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

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

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*/){...

50得票4回答
(iOS) dispatch_async() 和 NSOperationQueue 的区别

我学习iOS编程感谢斯坦福的CS193p课程(在iTunes U上)以及Big Nerd Ranch的iOS编程书籍。两者都建议使用dispatch_async(),dispatch_get_main_queue()等来处理线程和并发操作。然而,在WWDC 2012的会议中关于构建并发UI的演...

36得票3回答
OperationQueue.main与DispatchQueue.main的区别

当您需要在网络任务或操作的完成块中在主线程上执行某些操作时,以下哪种方式获取它最为合适并解释原因: OperationQueue.main.addOperation(将操作添加到主操作队列) DispatchQueue.main.async(异步地将工作项提交到主队列) 建议使用 Di...

30得票2回答
NSThread与NSOperationQueue与???在iPhone上的比较

目前我正在使用NSThread在另一个线程中缓存图像。[NSThread detachNewThreadSelector:@selector(cacheImage:) toTarget:self withObject:image]; 另一种方法是:[self performSelectorIn...

28得票7回答
NSOperation - 动态地强制一个操作等待其他操作

我正在尝试实现一个操作队列,我有以下情景:NSOperation A NSOperation B NSOperation C NSOperation D NSOperationQueue queue 我开始向队列中添加A。在执行A期间,我需要从B获取一些数据,只有在B返回我需要的数据后才能继续...

28得票3回答
NSOperationQueue的maxConcurrentOperationCount的默认值是什么?

正如标题所示,NSOperationQueue的maxConcurrentOperationCount属性的默认值是什么? 默认值是否设置为1?