请教一下关于 AFNetworking 异步的问题

2014-07-25 01:23:26 +08:00
 54dev
用NSLog打印的时候,为什么getData会比JSON先出来,怎么能让JSON比getData先??
3315 次点击
所在节点    iDev
9 条回复
satanwoo
2014-07-25 01:37:41 +08:00
把getdata放到success回调里面去。
yellowV2ex
2014-07-25 01:39:10 +08:00
这么基础的问题你来这里问?


request要去读取网络数据,异步读取成功后才会返回结果输出 success 里面的 JSON:xxx
viewDidLoad里面的东西,是顺序执行的,不会被异步加载的AFNetworking影响。


关于你的问题:
把getData写在success里。
54dev
2014-07-25 01:39:43 +08:00
@satanwoo self.productDetail是tableview的数据源,在viewDidLoad里打印,只是想看看有没有获取成功。
54dev
2014-07-25 01:41:40 +08:00
@yellowV2ex :)
satanwoo
2014-07-25 01:52:21 +08:00
@54dev 你的意思是想在数据源获取成功的时候刷新到tableview页面上去是吗?你可以自己写dispatch_queue那异步做,也可以用nsfetchresultcontroller
54dev
2014-07-25 02:01:00 +08:00
@satanwoo 是的。
http://www.tuicool.com/articles/zqIVRn
刚才对比了一下这个里面的loadFeed方法,我的写法和他的一样的,他也是在viewDidLoad里调用,在loadFeed里赋值,他那个为什么是正确的?
LINAICAI
2014-07-25 09:10:17 +08:00
这明显是不懂异步嘛
satanwoo
2014-07-25 10:48:18 +08:00
@54dev 他调用了是没错,他等到网络真正下载到了东西在回调里面相当于又刷新告诉tableview我有数据来了。你看回调里面有[self.tableview reloadData];
dopcn
2014-07-25 12:32:05 +08:00
@yellowV2ex 请不要破坏程序员圈回答问题的传统好嘛
参看《编程好难啊》 http://coolshell.cn/articles/1391.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/124388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX