我想了解AFNetworking Framework的工作原理.但是我不明白的细节很少.
我编写了AFHTTPclient的子类,而不是使它成为单例类,并添加了一个执行以下操作的初始化程序:
- (id)initWithBaseURL:(NSURL *)url { self = [super initWithBaseURL:url]; if (self) { [self registerHTTPOperationClass:[AFJSONRequestOperation class]]; } return self; }
我从互联网上找到的教程中得到了这段代码,但是我不明白为什么我要为JSONRequestOperation注册我的类,如果我想要获得JSON数据?如果我这样做,究竟在幕后发生了什么? registerHTTPOperation类到底做了什么?
PS:有没有关于AFNetworking在互联网上的例子和深入解释的好文档?
解决方法
在使用getPath和postPath方法时,
AFHTTPclient
上的
registerHTTPOperationClass:
将使用类集来处理您的请求.
在您给出的示例中,HTTPRequestOperation设置为AFJSONRequestOperation
,这意味着对服务器的所有请求都将使用AFJSONRequestOperation
的实例完成.AFJSONRequestOperation
将尝试使用NSJSONSerialization
类从服务器解析结果.
如果服务器使用XML响应,则应将HTTPRequestOperation设置为AFXMLRequestOperation
.