18得票7回答
NSOperationQueue中的dispatch_after等效方法

我正在将我的代码从普通的GCD迁移到NSOperationQueue,因为我需要一些功能。我的很多代码依赖于dispatch_after才能正常工作。是否有一种类似使用NSOperation的方法? 以下是需要转换为NSOperation的部分代码。如果您可以提供一个使用此代码进行转换的示例,...

17得票3回答
NSOperationQueue 串行 FIFO 队列

将 NSoperationQueue 对象的 maxConcurrentOperationCount 属性设置为 1,可以将其作为串行 FIFO 队列使用吗? 我注意到文档中提到... 对于最大并发操作数设置为 1 的队列,这相当于一个串行队列。但是,你不应该依赖操作对象的串行执行。...

16得票2回答
NSOperationQueue何时从队列中移除操作?

我需要知道 NSOperationQueue 何时将操作从队列中移除? 我有一个包含NSOperation列表的NSOperationQueue。在什么时候NSOperationQueue会将操作从队列中删除? 在启动操作之后? OR 在完成/取消操作之后? 因为我需要在NSOpera...

15得票1回答
[NSOperation cancelAllOperations];不能停止正在执行的操作。

中,[operation cancelAllOperations];似乎不起作用了。- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSOperationQueue *operation =...

15得票5回答
等待多个块完成

我有这些方法从互联网中检索一些对象信息:- (void)downloadAppInfo:(void(^)())success failure:(void(^)(NSError *error))failure; - (void)getAvailableHosts:...

15得票1回答
如何更好地优化iOS上的网络?

我在GitHub上创建了一个项目,以便学习如何优化iOS应用的网络。我大量使用了blocks和GCD,并在观看过2012年WWDC视频和过去几年的视频后,我发现我可能可以利用NSOperationQueue做更多的事情。具体来说,我可以控制并发操作(网络连接)的数量,并提供操作的取消功能。我正...

15得票7回答
在执行任务之前,请等待队列中的所有操作完成。

我有一个Operation子类和一个最大并发操作数为1的Operation队列。 这使得我的操作按我添加它们的顺序依次执行,这很好,但现在我需要等待所有操作完成后再运行另一个进程。 我试图使用通知组,但由于这是在for循环中运行的,一旦操作被添加到队列中,通知组就会触发... 我该如何等待...

14得票4回答
管理一组具有依赖关系的NSOperation

我正在开发一个应用程序,创建内容并将其发送到现有的后端。内容包括标题、图片和位置信息,很简单的东西。 由于后端有点复杂,所以我需要完成以下任务: 让用户拍照,输入标题,并授权地图使用其位置 为帖子生成唯一标识符 在后端上创建帖子 上传图片 刷新用户界面 我用了几个NSOperatio...

14得票1回答
野外中的NSOperationQueueDefaultMaxConcurrentOperationCount

苹果文档中指出,如果将NSOperationQueue的maxConcurrentOperationCount属性设置为NSOperationQueueDefaultMaxConcurrentOperationCount(默认值),则系统会根据“系统条件”在运行时调整其值。 如果指定NSOp...

13得票1回答
这是 Operation Queue 完成块的正确用法吗?

我第一次使用Objective-C块和操作队列。在主UI显示一个旋转图标的同时,我正在加载一些远程数据。我使用完成块告诉表格重新加载其数据。如文档中提到的,完成块不在主线程上运行,因此表格重新加载数据,但直到您在主线程上执行某些操作(例如拖动表格)之前,它才会重新绘制视图。 我现在使用的解决...