QianYiYu
Yiyu Qian
采纳率80%
2018-05-05 12:21 浏览 2.0k
已采纳

AFNetworking中success执行的语句是否回到了主线程?

20

ios用AFNetworking异步get完数据以后,要回到主线程。get函数中的block里的操作是
主线程的吗?那我get完之后进行后续相关的操作岂不是一定要放在success块里不能放在viewDidLoad中,不然因为是异步的就得不到数据了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答 默认 最新

  • 已采纳
    daasan123 爱弹吉他的程序员 2018-05-06 10:44

    图片说明
    可以自己指定回调的线程的,不指定的话,默认主线程。

    点赞 2 评论 复制链接分享
  • oyljerry oyljerry 2018-05-06 08:41

    success中不能保证是主线程,一般也不是主线程。你需要主动的dispatchqueue.main等方法来让你的代码在主线程处理UI相关的操作

    点赞 评论 复制链接分享
  • AnTianyang iOS-Link 2018-05-08 03:08

    Are AFNetworking success/failure blocks invoked on the main thread

    默认情况下,self.completionQueue是空,因此success和failure的回调是在主线程中执行。所有尽量不要在这些回调中执行过多占用CPU的代码。如果这些回调确实需要占用CPU,则建议创建一个单独的任务队列,并赋值给afnetworking的completionQueue属性。

    默认主线程

    点赞 评论 复制链接分享
  • Hiddencode Hiddencode 2018-05-15 10:29

    不能依赖success是否在主线程来执行后续操作

    点赞 评论 复制链接分享
  • qq_33555319 smart_zhu 2018-05-16 03:54

    默认是主线程,你数据请求success后是需要刷新页面的,如果你用了UITableView,你可以在viewDidLoad中创建UITableView,get成功以后需要调用刷新列表 [self.tableView reloadData];

    点赞 评论 复制链接分享

相关推荐