从ios拨打多个网络服务
问题描述:
我正在swift开发一个ios应用程序,并且有近20多个网络电话。每个网络调用都有一组参数,并且一些参数在服务调用中是通用的。有没有一种方法可以编写一个帮助程序类,我可以传递一个参数(以识别webserivce调用),并且此函数形成请求并发送它。我正在寻找类似于结构,arrray或其他东西中的所有参数的东西,并根据请求类型重新使用(动态形成请求对象)。从ios拨打多个网络服务
答
呀,这是很常见的技术来创建服务调用一个单独的类和每个呼叫都有自己的方法的例子,
- 创建service.h从NSObject的.M inherted。
- 定义方法如
-(NSArray*)getItemsWithCategory:(NSString*)cat
,该方法负责从服务器获取数据类别作为参数。 - 该方法应该是可见的(必须在.h中定义),以便可以从任何其他 uiviewcontroller或class中调用该方法。
- 在实现中使用任何技术来获取DataFromURL,如
AFNetworking
或ASIHTTP
或您的自定义方法。 - 定义和创建
delegates
成功和失败或者你可以使用块,但委托更清洁的方式。 - 将代表设置给您的班级,并在该班级中实施,例如
getItemWithCategory:Success
和Fail
。 - 在您的视图中填充数据。
答
您可以使用在后台运行不同的线程,可以创建一个webservicehelper类来处理他们所有例如
[NSThread detachNewThreadSelector:@selector(webservice1Call) toTarget:self withObject:nil];
[NSThread detachNewThreadSelector:@selector(webservice2Call) toTarget:self withObject:nil];
[NSThread detachNewThreadSelector:@selector(webservice3Call) toTarget:self withObject:nil];
在任何函数调用不同的方法
-(void)webservice2Call{
//WebServiceHelper can be the handler class
[WebServiceHelper loadWebService1Data];
}
而且在loadWebService1Data类功能..发送请求的呼叫
最好的方法来创建Parameter类,你有所有的领域作为适当的ty来设置。更多你可以有差异。返回格式化请求数据直接通过服务的方法。 – 2015-02-07 05:55:18