NSURLSession 错误 *崩溃*

NSURLSession Error *Crash*

我正在使用 NSURLSession 发出一个简单的 POST 请求。 我使用的方法与我在应用程序的登录方面使用的方法相同。

现在我正在为用户处理一个忘记的 pin,但我收到了这个错误:

-[NSMutableURLRequest absoluteURL]: unrecognized selector sent to instance 0x170209fd0 2015-04-07 11:47:26.443 ECP[358:9466] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSMutableURLRequest absoluteURL]: unrecognized selector sent to instance 0x170209fd0'

我正在获取这样的连接:

+(void)forgotPinWebServiceCompletionHandler:(ECPForgotPinCompletionHandler)ForgotPinCompletionBlock Username:(NSString *)data {
NSError *error;

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
[sessionConfig setHTTPAdditionalHeaders:@{@"Accept":@"application/json"}];
[sessionConfig setTimeoutIntervalForRequest:60.0];

/*TEST*/
NSURL * Url = [NSURL URLWithString:[NSString stringWithFormat:@"http://Secure//ws/auth-code/"]];

NSMutableURLRequest *forgotPinRequest = [[NSMutableURLRequest alloc] initWithURL:Url];
[forgotPinRequest setHTTPMethod:@"POST"];
/*END TEST */

NSDictionary *credentials = [[NSDictionary alloc] initWithObjectsAndKeys:data,@"username", nil];
NSData *userData = [NSJSONSerialization dataWithJSONObject:credentials options:0 error:&error];
[forgotPinRequest setHTTPBody:userData];

NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig];
[session dataTaskWithURL:forgotPinRequest completionHandler:ForgotPinCompletionBlock];

}

我在方法的最后一行收到错误

[session dataTaskWithURL:forgotPinRequest completionHandler:ForgotPinCompletionBlock];

我似乎无法弄清楚导致此问题的确切原因以及我应该如何解决它。什么可以帮助我解决这个问题?

"forgotPinRequest" 是 "NSMutableURLRequest" 而 dataTaskWithURL 期望它是简单的 NSURL 类型。这就是它失败的地方。确保使用 NSMutableURLRequest 的适当方法来获取 URL 对象。