首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFJSONRequestOperation操作开始堆栈

AFJSONRequestOperation操作开始堆栈
EN

Stack Overflow用户
提问于 2013-05-25 05:26:35
回答 1查看 167关注 0票数 0

假设我有这样的东西:

代码语言:javascript
复制
AFJSONRequestOperation *operation = ...

[operation start];

当调用操作start时,该操作放在哪里?在哪个队列中?是否有全局(类)操作队列放置此操作,我可以访问此操作?

因为我需要(在某些情况下)从另一个方法调用operation stop,有没有办法做到这一点?

或者我应该使用实例变量AFJSONRequestOperation,然后像这样访问它?虽然我有许多不同的操作,这会让我创建许多实例变量,所以如果有其他方法的话。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-26 18:07:12

我对AFNetworking不是特别熟悉,但据我所知,AFJSONRequestOperation在内部使用NSURLConnection

如果您自己简单地在操作上调用start,它将在NSURLConnection提供的后台线程上执行请求。因此,它不会在任何队列中。您应该自己保留对操作的引用,以阻止它被释放,并使用某种回调或块来处理结果,可能是由AFJSONRequestOperation提供的,或者通过Key Value Observing NSOperationisFinished属性来处理。

或者,因为AFJSONRequestOperation是一个NSOperation,所以您可以将其添加到您创建的NSOperationQueue中,也可以添加到其他框架特性提供的add中。在这种情况下,NSOperationQueue将为您调用start方法,并在处理对象时管理对象的生存期。同样,您必须确定在操作完成时处理结果的最佳方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16743874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档