Iphone 为什么会发生这种错误?

Iphone 为什么会发生这种错误?,iphone,Iphone,我正在分析来自web服务的数据。在分析了少数记录后,它会出现此错误。请有人告诉我此错误背后的原因是什么 [NSXMLParser length]: unrecognized selector sent to instance 0x6e6d340 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSXMLParser length]: unrecognized sel

我正在分析来自web服务的数据。在分析了少数记录后,它会出现此错误。请有人告诉我此错误背后的原因是什么

[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]:发送到实例0x6e6d340的无法识别的选择器

这表明您正在调用的函数不是NSXMLParser类的成员函数

实际上,在您的代码中,您正在调用任何不能在NSXMLParser类的对象上调用的方法


通过调试指针进行检查。

'-[NSXMLParser length]:发送到实例0x6e6d340的无法识别的选择器

这表明您正在调用的函数不是NSXMLParser类的成员函数

实际上,在您的代码中,您正在调用任何不能在NSXMLParser类的对象上调用的方法


通过调试指针进行检查。

我刚刚遇到了同样的问题。对我来说,问题是由以下代码行引起的:

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

这序列化了我传递给XML解析器的
responseObject
,但解析器需要一个
NSData
对象。只要去掉那条线就解决了问题。

我也遇到了同样的问题。对我来说,问题是由以下代码行引起的:

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

这序列化了我传递给XML解析器的
responseObject
,但解析器需要一个
NSData
对象。只要去掉那条线就解决了问题。

我也面临着类似的问题

通过更改我的线路来修复

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

我在这个博客上找到了我的解决方案

错误解释 [AFXMLParserResponseSerializer serializer]的这个配置已经返回了一个初始化的对象,我考虑到它是一个数据对象,正在使用已经初始化的解析器再次初始化它


正如上面@Hodson answer所建议的那样,下面这行的评论对我来说不起作用,也没有意义,因为这是AFTNetworking库的默认配置

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

我也面临类似的问题

通过更改我的线路来修复

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

我在这个博客上找到了我的解决方案

错误解释 [AFXMLParserResponseSerializer serializer]的这个配置已经返回了一个初始化的对象,我考虑到它是一个数据对象,正在使用已经初始化的解析器再次初始化它


正如上面@Hodson answer所建议的那样,下面这行的评论对我来说不起作用,也没有意义,因为这是AFTNetworking库的默认配置

operation.responseSerializer = [AFXMLParserResponseSerializer serializer];

您需要使用指针进行调试,并查看应用程序在该行崩溃的位置,查看到底发生了什么。当将鼠标指针放在对象上时,您将看到该对象的类型。程序在[xmlParser parse]上崩溃我不知道为什么它会一次又一次地发生。我认为您没有分配xmlPareser,或者任何其他对象都是获取xmlPareser的位置。请看,当您的指针指向应用程序崩溃的那一行时,然后检查xmlParser的类型是否为NSXMLParser或任何其他类型。您需要使用指针进行调试,并查看应用程序在该行崩溃的位置,查看到底发生了什么。当将鼠标指针放在对象上时,您将看到对象的类型。程序在[xmlParser parse]上崩溃我不知道为什么它会一次又一次地发生。我认为您没有分配xmlPareser,或者任何其他对象都是获取xmlPareser的位置。请看,当您的指针指向应用程序崩溃的那一行时,然后检查xmlParser的类型是否为NSXMLParser或其他任何类型。发布来自解析器委托方法的代码和创建解析器的代码-您没有在某个地方保留某些内容,并且正在发布这些内容,但是如果没有一些代码,我们将无能为力!发布来自解析器委托方法的代码和创建解析器的代码-您没有在某个地方保留某些内容,并且正在发布这些内容,但是如果没有一些代码,我们将无能为力!