我试图了解AFNetworking
框架是如何工作的。但是我没有什么细节不明白。
我写了一个AFHTTPclient
的子类,而不是使其成为一个单例类,并添加了一个执行以下操作的初始值设定项:
- (id)initWithBaseURL:(NSURL *)url {
self = [super initWithBaseURL:url];
if (self) {
[self registerHTTPOperationClass:[AFJSONRequestOperation class]];
}
return self;
}
我从互联网上找到的教程中获得了此代码,但是我不明白如果我想取回JSON数据,为什么必须注册我的类JSONRequestOperation
?如果我这样做,引擎盖下到底会发生什么?registerHTTPOperation
类到底是做什么的?
PS:互联网上某处是否有带有示例和AFNetworking
深入解释的良好文档?
AFHTTPclient
上的registerHTTPOperationClass:
将使用类集来处理使用 getPath 和 postPath 方法时的请求。
在您给定的示例中,HTTPRequestOperation 设置为AFJSONRequestOperation
,这意味着对服务器的所有请求都将使用 AFJSONRequestOperation
的实例完成。AFJSONRequestOperation
将尝试使用 NSJSONSerialization
类分析来自服务器的结果。
例如,如果您的服务器使用 XML 进行响应,则应将 HTTPRequestOperation 设置为 AFXMLRequestOperation
。