最近项目中,网络请求返回数据为NSCFDictiory等C语言类型,查了一下原因为原先项目中使用的是
self.networkingTool.responseSerializer = [AFJSONResponseSerializer serializer];而在AF3.0中需要使用
self.networkingTool.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:serializerWithReadingOptions];
即可返回OC类型数据
下面顺带网络请求数据单例,下下次使用时直接copy即可了
static NetworkRquestNIM * netRequestInstance = nil;
@interface NetworkRquestNIM()@property(nonatomic, strong) AFHTTPSessionManager *networkingTool;
@end
@implementation NetworkRquestNIM
+(instancetype)shareInstance
{
static dispatch_once_t netRequestToken;
dispatch_once(&netRequestToken, ^{
netRequestInstance = [[self alloc]init];
});
return netRequestInstance;
}
-(instancetype)init
{
if (self = [super init]) {
self.networkingTool = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:NIM_Base_URL]];
self.networkingTool.requestSerializer = [AFHTTPRequestSerializer serializer];
self.networkingTool.responseSerializer = [AFJSONResponseSerializer serializer];
self.networkingTool.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/plain",@"text/html", nil];
}
return self;
}