2012-12-20 54 views
0

我将ElementParser导入到我的项目中,以便解析html字符串。但xcode在以下代码中报告警告:xcode:如何隐藏此警告?

if ([connectionDelegate respondsToSelector:@selector(connection:didFailWithError:)]) 
    [connectionDelegate connection:connection didFailWithError: error]; // Warning at this line 

由于第一行有一个检查,第二行必须在运行时安全。

我真的不喜欢在我的项目中存在警告。所以我想知道是否有隐藏这个警告?

+2

是否有可能使用的协议?如果'connectionDelegate'输入正确(符合正确的协议),并且'connection:didFailWithError:'方法在该协议中是可选的,那么上述内容不应该产生警告。 – dreamlax

+1

'connectionDelegate'是什么类型? 'ID ? 'ID ?还有别的吗? – Rob

+0

导致代码来自githut,而不是我自己编写的代码,我不想修改任何行或修改尽可能少的行。 – TieDad

回答

2

首先将对象投射到id

if ([connectionDelegate respondsToSelector:@selector(connection:didFailWithError:)]) 
    [(id)connectionDelegate connection:connection didFailWithError: error]; 

或者,更好的是,作为@Rob建议,为您connectionDelegate的类的@interface声明中,添加以下

@interface MyConnectDelegateClass : id<NSURLConnectionDelegate> 
+4

或者更好的,首先定义'connectionDelegate'。 – Rob

+0

@Rob,同意!我只在有限的情况下使用'id'。 – tom