Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为NSXMLParser设置委托给SIGABRT错误_Objective C_Cocoa_Delegates_Nsxmlparser_Sigabrt - Fatal编程技术网

Objective c 为NSXMLParser设置委托给SIGABRT错误

Objective c 为NSXMLParser设置委托给SIGABRT错误,objective-c,cocoa,delegates,nsxmlparser,sigabrt,Objective C,Cocoa,Delegates,Nsxmlparser,Sigabrt,我使用以下代码应用委托进行XML解析 NSXMLParser *nsXMLParse = [[NSXMLParser alloc] initWithData:data]; XMLParse *parser = [[XMLParse alloc] initXMLParser];//XMLParse is my custom class, where i used the NSXMLParser protocol [nsXMLParse setDelegate:(id <NSXMLP

我使用以下代码应用委托进行XML解析

NSXMLParser *nsXMLParse = [[NSXMLParser alloc] initWithData:data];    
XMLParse *parser = [[XMLParse alloc] initXMLParser];//XMLParse is my custom class, where i used the NSXMLParser protocol 
[nsXMLParse setDelegate:(id <NSXMLParserDelegate>)parser];
NSXMLParser*nsXMLParse=[[NSXMLParser alloc]initWithData:data];
XMLParse*parser=[[XMLParse alloc]initXMLParser]//XMLParse是我的自定义类,我在其中使用了NSXMLParser协议
[nsXMLParse setDelegate:(id)解析器];
但这并不正常。虽然它在这里没有给出任何错误,但是它在编译时给出了“SIGABRT”错误。所以请帮忙

我的XML是:

 <?xml version="1.0" encoding="UTF-8"?>
    <Users>
      <User name="Some One" id="a@b.com" pass="123"/>
    </Users>


如果XMLParse类实现了NSXMLParserDelegate协议,则不需要强制转换为id

我使用的是自动引用。这是主要原因吗?如何检查变量是否超出范围?方法中声明的变量在方法末尾超出范围。我为您添加了一些示例代码。ARC是否存在问题?您的类XMLParse可能无法正确实现
NSXMLParserDelegate
协议。现在我得到了确切的解决方案。除了NSXMLParser协议函数定义之外,所有的事情都是正确的。感谢所有特别喜欢水果的极客,看看协议的定义。