【发布时间】:2016-06-15 10:48:45
【问题描述】:
我正在使用AFNetworking 从应用程序调用网络服务。一切正常。由于我是 iOS 开发的新手,我以某种方式使事情顺利进行,但我想学习实现东西的正确方法并处理各种情况。
下面是AFNetwork工作代码:
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:url]];[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
[manager POST:url parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"Success");
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
当我进行服务调用时,如果调用失败(由于网络连接不佳),那么在失败块中我该如何处理?假设这是一个重要的服务调用,如 login service 那么我不能放弃并且需要再次调用该服务。我浏览了很多,但到处都显示 UIAlert 说没有连接。但是如果第一次通话失败,我不想使用警报...
我应该延迟调用服务还是有其他解决方案?如果你们中的任何人更好地处理了这种情况,请回复...
【问题讨论】:
-
一般登录web服务不会在失败时自动触发。我们只是显示一个弹出窗口,要求用户稍后再试。或者我们可能会显示类似“网络故障”的弹出窗口。你想尝试再次登录吗?有 2 个选项是 - 否。如果用户点击是,你再次调用网络服务。
标签: ios objective-c web-services rest afnetworking