1
PrideChung 2014-05-01 09:48:41 +08:00 1
参考AFN的demo,把AFHTTPSessionManager弄成单例就行了
|
2
PrideChung 2014-05-01 09:50:36 +08:00 1
那种把AFN的回调转成Delegate的做法简直是脱裤子放屁,要这么搞你还不如一开始就用NSURLConnection
|
3
wtl 2014-05-01 10:01:31 +08:00 1
"比如我点了帖子列表第一个帖子的链接,加载了10秒没加载出来,然后想点另外一个,这样会发出两个请求"
这个设计有问题,从列表页面点了一个链接,应该跳转到该链接的详情页,然后加载该页面,而不是停留在列表页。 |
5
none 2014-05-01 11:04:15 +08:00 1
正确做法应该是取消前面所有的请求,只执行最后一次请求操作。。。
|
7
dorentus 2014-05-01 15:04:53 +08:00 1
@WildCat
可以的啊,请求的时候,应该是有个 AFHTTPRequestOperation 实例的吧,它应该有个名字类似 cancel 的方法,可以取消请求。 通用的做法是按 wtl 说的那样,点链接是先 push 到详情页,详情页出现时加载内容,消失时取消还没加载完的 operations. |
8
cielpy 2014-05-01 15:09:11 +08:00
如@wtl 所说,应该是跳转到相应页面然后在viewDidLoad的时候再加载数据吧。
不知道楼主用的是什么版本的,我看到2.x版本发post请求时, AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager方法会创建一个AFHTTPRequestOperationManager对象,这样的话发第二次请求应该是另一个对象,回调block应该不会有错乱才对。 |
9
cielpy 2014-05-01 15:12:41 +08:00 2
Google了一下,[manager.operationQueue cancelAllOperations];
可以取消掉所有的请求。 |
11
WildCat OP @wtl 关于这个,我认为现在大多数做法还是请求时不切换Controller,因为切换后时一个空白页面要等待好久
|
12
wtl 2014-05-02 09:21:29 +08:00 1
|