在成功工作之后,在发生SimplePost请求的无法识别的select器上崩溃。

我一直在使用SimplePost类几个星期,并没有任何问题。 现在我在一个请求返回Connection中正确的数据之后崩溃了。 我没有(明知)触摸SimplePost类文件。 但是当我运行分析器时,它现在(从未做过)指出以下方法:

+ (NSMutableURLRequest *) urlencodedRequestWithURL:(NSURL *)url andDataDictionary:(NSDictionary *) dictionary { // Create POST request NSMutableURLRequest *urlencodedPostRequest = [NSMutableURLRequest requestWithURL:url]; [urlencodedPostRequest setHTTPMethod:@"POST"]; // Add HTTP header info [urlencodedPostRequest addValue:@"application/x-www-form-urlencoded" forHTTPHeaderField: @"Content-Type"]; // Add POST body NSMutableData *POSTBody = [NSMutableData data]; // Add k/v to the body NSArray *keyArray = [dictionary allKeys]; for( int i = 0; i < [keyArray count]; ++i ) { // Core Foundation function used to transform @ ==> %40 , etc NSString *escapedString = (__bridge NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)([dictionary objectForKey:[keyArray objectAtIndex:i]]),NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); [POSTBody appendData:[[NSString stringWithFormat:@"%@=%@", [keyArray objectAtIndex:i], escapedString] dataUsingEncoding:NSUTF8StringEncoding]]; if( i < ([keyArray count] - 1) ) { [POSTBody appendData:[[NSString stringWithFormat:@"&"] dataUsingEncoding:NSUTF8StringEncoding]]; } } [urlencodedPostRequest setHTTPBody:POSTBody]; return urlencodedPostRequest; } 

运行分析仪显示我:

bug prt1
线路继续如下: 错误prt2

我很难理解发生了什么事情。 任何人都可以帮忙吗? 谢谢!

你有没有尝试过__bridge_transfer for escapedString

  NSString *escapedString = (__bridge_transfer NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)([dictionary objectForKey:[keyArray objectAtIndex:i]]),NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); 

比照 正确桥接ARC?