开发者

Why does this error occur?

开发者 https://www.devze.com 2023-02-16 05:13 出处:网络
i am parsing the data from web service.After parsing the few records it gives this error.Somebody pleas开发者_运维技巧e the tell me what the reason behind this error?

i am parsing the data from web service.After parsing the few records it gives this error.Somebody pleas开发者_运维技巧e the tell me what the reason behind this error?

[NSXMLParser length]: unrecognized selector sent to instance 0x6e6d340



*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSXMLParser length]: unrecognized selector sent to instance 0x6e6d340'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x026c4919 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x028125de objc_exception_throw + 47
    2   CoreFoundation                      0x026c642b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x02636116 ___forwarding___ + 966
    4   CoreFoundation                      0x02635cd2 _CF_forwarding_prep_0 + 50
    5   Foundation                          0x001053e9 -[NSXMLParser parse] + 104
    6   SexOffenders                        0x00009c30 -[UserProfileVC connectionDidFinishLoading:] + 565
    7   Foundation                          0x0006e666 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 108
    8   Foundation                          0x0006e5bf _NSURLConnectionDidFinishLoading + 133
    9   CFNetwork                           0x02c569f1 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 285
    10  CFNetwork                           0x02d1fc72 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 402
    11  CFNetwork                           0x02d200ea _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 1546
    12  CFNetwork                           0x02d200ea _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 1546
    13  CFNetwork                           0x02c4bdfe _ZN19URLConnectionClient13processEventsEv + 100
    14  CFNetwork                           0x02c4bc95 _ZN17MultiplexerSource7performEv + 247
    15  CoreFoundation                      0x026a5d7f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    16  CoreFoundation                      0x026041dd __CFRunLoopDoSources0 + 333
    17  CoreFoundation                      0x026037c6 __CFRunLoopRun + 470
    18  CoreFoundation                      0x02603280 CFRunLoopRunSpecific + 208
    19  CoreFoundation                      0x026031a1 CFRunLoopRunInMode + 97
    20  GraphicsServices                    0x02f292c8 GSEventRunModal + 217
    21  GraphicsServices                    0x02f2938d GSEventRun + 115
    22  UIKit                               0x002dab58 UIApplicationMain + 1160
    23  SexOffenders                        0x00002198 main + 102
    24  SexOffenders                        0x00002129 start + 53
)
terminate called after throwing an instance of 'NSException'


'-[NSXMLParser length]: unrecognized selector sent to instance 0x6e6d340

this shows you are calling a function which is not a member function of NSXMLParser class.

actually in your code you are calling any method which can not be invoke on the obeject of NSXMLParser class.

chechk by debugging pointer.


I just suffered from this same issue. For me the problem was caused by this line of code:

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

This serialised the responseObject I was passing into the parser to XML but the parser expects an NSData object. Simply getting rid of that line solved the problem.


I also faced the similar problem.

Fixed by changing my line

self.xmlParser = [[NSXMLParser alloc] initWithData:data];

to

self.xmlParser = (NSXMLParser *)responseObject;

I found my solution from this blog

Raywanderlick Blog

Explanation for Error

This configuration of [AFXMLParserResponseSerializer serializer] already return an initialized object and I was initializing it again using already initialized parser by considering it data object.


Commenting following line didn't work for me as suggested by @Hodson answer above and it doesn't make sense as this is default configuration of AFTNetworking library.

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];
0

精彩评论

暂无评论...
验证码 换一张
取 消