【发布时间】:2012-01-06 09:19:40
【问题描述】:
我需要在同一个视图控制器中解析两个完全不同的 XML 数据文件,所以我想知道是否可以更改 NSXMLPaser 委托方法的名称,仅举一个例子。
【问题讨论】:
标签: objective-c cocoa nsxmlparser
我需要在同一个视图控制器中解析两个完全不同的 XML 数据文件,所以我想知道是否可以更改 NSXMLPaser 委托方法的名称,仅举一个例子。
【问题讨论】:
标签: objective-c cocoa nsxmlparser
不,你不能。而且没有必要这样做。
通过检查委托方法的第一个参数来区分解析器。
例如:
-(void)parserDidEndDocument:(NSXMLParser *)parser;
相关的解析器总是作为第一个参数传递。
另一种解决方案是为两个解析器分配不同的委托,这样您就始终知道关注的是哪个解析器。
【讨论】:
parser == myFirstParser 会告诉您所讨论的解析器是否为 myFirstParser