6

我试图了解AFNetworking框架是如何工作的。但是有一点细节我不明白。

我写了一个AFHTTPclient比使其成为单例类的子类,并添加了一个初始化器,它执行以下操作:

- (id)initWithBaseURL:(NSURL *)url {
    self = [super initWithBaseURL:url];
    if (self) {
        [self registerHTTPOperationClass:[AFJSONRequestOperation class]];
    }
    return self;
}

我从网上找到的教程中得到了这段代码,但我不明白为什么JSONRequestOperation如果我想取回 JSON 数据,我为什么必须注册我的课程?如果我这样做,幕后究竟会发生什么?registerHTTPOperation类究竟是做什么 的?

AFNetworkingPS:是否有很好的文档,其中包含互联网上某个地方的示例和深入解释?

4

1 回答 1

11

使用 getPath 和 postPath 方法时,registerHTTPOperationClass:onAFHTTPclient将使用类集来处理您的请求。

在您给定的示例中, HTTPRequestOperation 设置为AFJSONRequestOperation,这意味着对服务器的所有请求都将使用AFJSONRequestOperation. 将AFJSONRequestOperation尝试使用NSJSONSerialization类解析来自服务器的结果。

如果您的服务器使用 XML 响应,您应该将 HTTPRequestOperation 设置AFXMLRequestOperation为例如。

于 2012-12-17T09:29:08.493 回答