如何使用 AFNetworking 处理与几个不同 url 的通信

Posted

技术标签:

【中文标题】如何使用 AFNetworking 处理与几个不同 url 的通信【英文标题】:how to handle communicate with couple of different urls with AFNetworking 【发布时间】:2014-02-12 05:59:22 【问题描述】:

对于我的应用程序,我需要在同一个应用程序中与许多不同的 url 进行通信,我想使用 AFNetworking API 来处理这个要求,但是 AFNetworking 示例使用单例与一个基本 url 进行通信,并将操作队列中具有不同相对 url 的 http 请求。我仍然对使用AFNetworking 的设计感到困惑,我想我需要创建几个单例来处理不同的url,这绝对是一个奇怪的设计,或者我需要重新编写AFHTTPClient 以满足我的要求,或者我需要一个networkingMgr 来维护AFHTTPClient 的列表,很难将AFHTTPClient 与不同的url 解耦。有人可以提出一些建议吗?非常感谢。

【问题讨论】:

沟通是什么意思?您可以使用 AFNetworking 与多个 url 进行通信 - 我确定我之前在单个应用程序中执行了多个 GET 请求。 通信我的意思是,发送get,post请求,你使用相同的baseURL和不同的相对URL或不同的base URL执行多个GET请求? 【参考方案1】:

我不明白为什么你不能使用下面的代码取自:CocoaDocs

使用你自己的 NSString 作为 URL

 NSString *myUrlString = [NSString stringWithFormat:@"%@%@",baseUrl,relativeUrl];

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:myUrlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) 
NSLog(@"JSON: %@", responseObject);
 failure:^(AFHTTPRequestOperation *operation, NSError *error) 
NSLog(@"Error: %@", error);
];

【讨论】:

以上是关于如何使用 AFNetworking 处理与几个不同 url 的通信的主要内容,如果未能解决你的问题,请参考以下文章

Java重载 (Overlaod)与几个面试题

定位与几个常用的属性

数据结构与算法散列介绍与几个散列函数

如何使用 AFNetworking 2.0 处理 Parse.com Rest API 错误

AFNetworking - 等待 60 秒后超时间隔与预期不同

如何使用Jmeter作为CI解决方案