Objective c 为NSXMLParser设置委托给SIGABRT错误
我使用以下代码应用委托进行XML解析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
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协议函数定义之外,所有的事情都是正确的。感谢所有特别喜欢水果的极客,看看协议的定义。