0

我试图用NSURLConnection. 这是我的代码:

responseData = [[NSMutableData alloc]init];

self.regData=data;

NSString *postString = [NSString stringWithFormat:@"name=%@&email=%@&regId=%@unique_id=%@",self.regData.name,self.regData.email,self.regData.regId,UNIQUE_ID];

NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc]initWithURL:url ];
NSData *postData = [postString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
[req setHTTPMethod:@"POST"];
[req setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-type"];
[req setValue:[NSString stringWithFormat:@"%d",[postData length]] forHTTPHeaderField:@"Content-Length"];
[req setHTTPBody:postData];
(void)[NSURLConnection connectionWithRequest:req delegate:self];

但是,我收到了这样的异常

 NSInvalidArgumentException', reason: '-[MAAppDelegate connectionFailed]: unrecognized selector sent to instance 0x15d8b310'
*** First throw call stack:
(0x30fbaf53 0x3b2e46af 0x30fbe8e7 0x30fbd071 0x30f0c598 0x19cb83 0x318f43a3 0x318f42e7    0x318f5031 0x319804fd 0x30c280ef 0x30c26ae3 0x30c5831f 0x30eee719 0x30bbec3d 0x30bbeb0d 0x30bbe9a1 0x30f8618b 0x30f8565b 0x30f83e4f 0x30eeece7 0x30eeeacb 0x35bc7283 0x33790a41 0x187dbd 0x3b7ecab7)
libc++abi.dylib: terminating with uncaught exception of type NSException

请帮我解决这个问题。

4

1 回答 1

1

几个想法:

  1. 您的错误消息似乎与您的代码示例无关,而是报告您尝试调用connectionFailed为您的应用委托调用的方法。我假设您有一些代码试图用该名称调用方法。您应该更新您的问题以包含该代码。

  2. 您可能想要添加一个异常断点,以便它识别导致此异常的代码行。这可能会简化您对问题的诊断。

  3. 顺便说一句unique_id,您的POST数据中缺少一个&符号,因此即使您解决了上述问题,此请求也不起作用。

  4. 您确实应该将参数转义到POST数据中。也许您的数据中没有任何需要转义的字符,但为了安全起见,您确实应该调用CFURLCreateStringByAddingPercentEscapes百分比转义您的数据。有关可以调用以正确百分比转义数据的示例类别,请参阅此答案。NSString

于 2013-11-02T14:50:04.887 回答