当我宣布appDelegate
界面如下依次设置NSXMLParserDelegate
,我收到来自使用 [[UIApplication sharedApplication] delegate] 的其他视图的一些警告;
@interface AppDelegate : UIResponder <UIApplicationDelegate, NSXMLParserDelegate>
警告:使用以下表达式初始化“AppDelegate *__strong”
不兼容的类型“id”
但是,如果我删除它,由于 xmlParser 的自我设置,会出现另一个警告,
@interface AppDelegate : UIResponder <UIApplicationDelegate>
警告:将“AppDelegate *const __strong”发送到参数
不兼容的类型“id”
on
xmlParser = [[NSXMLParser alloc] initWithData:receivedData];
[xmlParser setDelegate:self];
如何将两者都删除?谢谢
您确实不应该让您的 AppDelegate 公开暴露接口。它在所有代码之间创建了非常紧密的耦合。如果其他代码(在您的 AppDelegate 之外)需要 NSXMLParserDelegate,您应该为其创建一个不同的类。
看起来您的 AppDelegate 需要成为其自身目的的委托。您可以通过在 AppDelegate.m 文件中创建类扩展来“私下”实现该接口。
@interface AppDelegate() <NSXMLParserDelegate>
@end
执行上述操作将删除您在此处收到的警告:
[xmlParser setDelegate:self];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)