您的位置:首页 > 理论基础 > 计算机网络

AFNetworking从1.0 到2。0的转换

2016-03-24 17:06 417 查看
最近boss要求融合以前的老代码  那个有多老  。。。。 O(∩_∩)O哈哈~   现在我在用3.04版的AFNetworking了 哥!!!  他是1.0版本的 /(ㄒoㄒ)/~~

经过颇多曲折  很多泪流 最终解决 心累啊  

1.0版本
-(void)requestHttp:(NSString*)baseUrlStr
actionPath:(NSString*)path parameter:(NSMutableDictionary*)parameter
           success:(void
(^)(NSURLRequest
*request,
NSHTTPURLResponse *response,
id
JSON))success

           failure:(void
(^)(NSURLRequest
*request,
NSHTTPURLResponse *response,
NSError
*error, id
JSON))failure{

   

    NSURL
*baseUrl = [NSURLURLWithString:baseUrlStr];

    [parameter setObject:@"2"forKey:@"AppOS"];

    [parameter setObject:@"1"forKey:@"VersionFlag"];

   

    NSArray
*array = [[AppDelegategetAppVersion]
componentsSeparatedByString:@"."];

    int
a = [[array objectAtIndex:0]
intValue]<<24;

    int
b = [[array objectAtIndex:1]
intValue]<<16;

    int
c = [[array objectAtIndex:2]
intValue]<<8;

    int
d = [[array objectAtIndex:3]
intValue];

   

    [parameter setObject:[NSStringstringWithFormat:@"%i",a|b|c|d]
forKey:@"AppVersion"];

   

   

    KAFHTTPClient
*httpClient = [[KAFHTTPClientalloc]
initWithBaseURL:baseUrl];

    NSMutableURLRequest
*request = [httpClient
requestWithMethod:@"POST"path:path
parameters:parameter];

                  [request
setTimeoutInterval:10];

                  [AFJSONRequestOperationaddAcceptableContentTypes:[NSSetsetWithObject:@"text/plain"]];

                  AFJSONRequestOperation
*operation = [AFJSONRequestOperationJSONRequestOperationWithRequest:request

                                                                                                     
success:success

                                                                                                     
failure:failure];

                  [operation
start];
}

2.0版本
-(void)requestHttp:(NSString*)baseUrlStr
actionPath:(NSString*)path parameter:(NSMutableDictionary*)parameter

           success:(void
(^)(NSURLRequest
*request,
NSHTTPURLResponse *response,
id
JSON))success

           failure:(void
(^)(NSURLRequest
*request,
NSHTTPURLResponse *response,
NSError
*error, id
JSON))failure{

   

    NSString
*url = [baseUrlStr stringByAppendingString:path];

    [parameter setObject:@"2"forKey:@"AppOS"];

    [parameter setObject:@"1"forKey:@"VersionFlag"];

   

    NSArray
*array = [[AppDelegategetAppVersion]
componentsSeparatedByString:@"."];

    int
a = [[array objectAtIndex:0]
intValue]<<24;

    int
b = [[array objectAtIndex:1]
intValue]<<16;

    int
c = [[array objectAtIndex:2]
intValue]<<8;

    int
d = [[array objectAtIndex:3]
intValue];

   

    [parameter setObject:[NSStringstringWithFormat:@"%i",a|b|c|d]
forKey:@"AppVersion"];

    AFHTTPRequestOperationManager
*manager = [AFHTTPRequestOperationManagermanager];

    manager.responseSerializer.acceptableContentTypes
= [NSSetsetWithObject:@"text/plain"];

   

    [manager POST:url
parameters:parameter
success:^(AFHTTPRequestOperation
*
_Nonnull operation,
id 
_Nonnull
responseObject) {

        NSLog(@"成功");

    } failure:^(AFHTTPRequestOperation
*
_Nullable operation,
NSError
* _Nonnull
error) {

        NSLog(@"失败:
%@", error);

    }];
    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息