11

可能重复:
私下遵守协议

我的一类试图将自己注册为它创建的 NSXMLParser 对象的委托。但是,我不认为我希望我的班级公开披露它实现了 NSXMLParserDelegate 协议,因为 NSXMLParser 对象是一个仅在班级内部使用的私有变量。

我是否正确避免披露协议,如果是这样,我如何在不公开该类这样做的情况下实现该协议?

4

1 回答 1

16

尝试将其放入您的 .m 文件中:

@interface MyClass (Private) <NSXMLParser>
@end

具体的类别名称Private(至少在那个文件中。

如果这不起作用,请在设置解析器的委托时尝试简单地<NSXMLParser>从 .h 文件中删除,并在必要时强制转换self为。id<NSXMLParser>

于 2012-12-19T06:26:36.243 回答