在函数+ IOS的​​返回types中冲突

我正在构build一个iOS应用程序,我正在使用AFNetworking库将数据发布到服务器。

我创build了一个函数来发布数据,并在我的应用程序的不同类中调用此函数。

我得到的请求响应的variables名为“responseObject”,而我想在return语句中返回这个我不能确定responseObject的返回types,因此,我试图使用NSDictionary,但得到以下警告:

Conflicting return type in implementation of 'postData:parameters:': 'void' vs 'NSDictionary *' 

这里是我的代码:

 -(void)postData:(NSString*)postUrl parameters:(NSDictionary *)params{ NSURL *baseURL = [NSURL URLWithString:@"http://xyz:2424/api/"]; AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; [manager POST:postUrl parameters:params success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"response %@",responseObject); } failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"\n============== ERROR ====\n%@",error); UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error adding book" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; }]; } 

首先你可以通过键入NSLog(@“ClassType – %@”,[responseObject class])来看到responseObject的types,然后通过自定义委托将responseObject传递给所需的types。

这意味着你的postData方法期望返回一个NSDictionary,然而你的方法说“void” – 看看头文件中的方法定义,我期望它是:

 -(NSDictionary*)postData:(NSString*)postUrl parameters:(NSDictionary *)params;