Iphone NSURLConnection sendSynchronousRequest数据解析崩溃
我正在使用sendSynchronousRequest并从web服务器接收数据,但当我试图解析接收到的数据时,应用程序正在崩溃Iphone NSURLConnection sendSynchronousRequest数据解析崩溃,iphone,objective-c,nsxmlparser,nsurl,Iphone,Objective C,Nsxmlparser,Nsurl,我正在使用sendSynchronousRequest并从web服务器接收数据,但当我试图解析接收到的数据时,应用程序正在崩溃 NSError *error; NSURLResponse *response; NSData *urlData=[NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error]; NSString *data=[[NSString al
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"data received from url: %@", data);
xmlParser = [[NSXMLParser alloc] initWithData: data];
[xmlParser setDelegate: self];
[xmlParser setShouldResolveExternalEntities:YES];
[xmlParser parse];
[xmlParser release];
但是在[xmlParser parse]之后代码>应用程序崩溃。我得到以下信息:
2011-03-01 09:36:31.735 MasterApp[228:207] -[NSCFString bytes]: unrecognized selector sent to instance 0x5f6b000
2011-03-01 09:36:31.738 MasterApp[228:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString bytes]: unrecognized selector sent to instance 0x5f6b000'
*** Call stack at first throw:
(
0 CoreFoundation 0x0252eb99 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x0267e40e objc_exception_throw + 47
2 CoreFoundation 0x025306ab -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x024a02b6 ___forwarding___ + 966
4 CoreFoundation 0x0249fe72 _CF_forwarding_prep_0 + 50
5 Foundation 0x00114afc -[NSXMLParser parse] + 147
6 MasterApp 0x0000c731 -[identifierList getUrl] + 994
7 MasterApp 0x0000c306 -[identifierList actionSheet:clickedButtonAtIndex:] + 56
8 UIKit 0x0077047d -[UIActionSheet(Private) _buttonClicked:] + 258
9 UIKit 0x002dc7f8 -[UIApplication sendAction:to:from:forEvent:] + 119
10 UIKit 0x00367de0 -[UIControl sendAction:to:forEvent:] + 67
11 UIKit 0x0036a262 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527
12 UIKit 0x00368e0f -[UIControl touchesEnded:withEvent:] + 458
13 UIKit 0x003003d0 -[UIWindow _sendTouchesForEvent:] + 567
14 UIKit 0x002e1cb4 -[UIApplication sendEvent:] + 447
15 UIKit 0x002e69bf _UIApplicationHandleEvent + 7672
16 GraphicsServices 0x02d8a822 PurpleEventCallback + 1550
17 CoreFoundation 0x0250fff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
18 CoreFoundation 0x02470807 __CFRunLoopDoSource1 + 215
19 CoreFoundation 0x0246da93 __CFRunLoopRun + 979
20 CoreFoundation 0x0246d350 CFRunLoopRunSpecific + 208
21 CoreFoundation 0x0246d271 CFRunLoopRunInMode + 97
22 GraphicsServices 0x02d8900c GSEventRunModal + 217
23 GraphicsServices 0x02d890d1 GSEventRun + 115
24 UIKit 0x002eaaf2 UIApplicationMain + 1160
25 MasterApp 0x00001dbc main + 102
26 MasterApp 0x00001d4d start + 53
)
terminate called after throwing an instance of 'NSException'
Program received signal: “SIGABRT”.
提前感谢您需要根据收到的数据格式设置解析器。要开始,请查看和。从这些页面中,您可以找到有用的示例代码。感谢您的回复,我正在使用此NSError*错误;NSURLResponse*响应;NSData*urlData=[NSURLConnection sendSynchronousRequest:req returningResponse:&响应错误:&错误];NSString*data=[[NSString alloc]initWithData:urlData编码:NSUTF8StringEncoding];NSLog(@“从url接收的数据:%@”,数据);xmlParser=[[NSXMLParser alloc]initWithData:data];[xmlParser setDelegate:self];[xmlParser setShouldResolveExternalEntities:是];[xmlParser parse];[xmlParser release];还实现,-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName属性:(NSDictionary*)attributeDict,-(void)parser:(NSXMLParser*)parser foundCharacters:(NSString*)string和-(void)parser:(NSXMLParser didenelement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName但我的应用程序在[xmlParser parse]之后崩溃的原因这听起来与您最初提出的问题不同。请用代码和崩溃日志发布一个新问题。或者,如果您的问题与-解析崩溃代码有关,请编辑您的原始问题以反映这一点。崩溃的控制台输出是什么?我在问题中添加了崩溃报告,希望您对此有所了解。谢谢s