如何解决“未声明的选择器'forwardGeocoderDidFail:withErrorMessage”警告?

时间:2014-07-31 17:49:21

标签: ios objective-c ios7 ios7.1

如何解决此警告?

enter image description here

警告是“未声明的选择器'forwardGeocoderDidFail:withErrorMessage:'”。为什么我会收到此警告,如何解决?

这是我的代码:

if (!handeledByBlocks && self.delegate) {
    if (!parseError && parser.statusCode == G_GEO_SUCCESS)
    {
        [self.delegate forwardGeocodingDidSucceed:self withResults:parser.results];
    }
    else if ([self.delegate respondsToSelector:@selector(forwardGeocoderDidFail:withErrorMessage:)])
    {
        [self.delegate forwardGeocodingDidFail:self withErrorCode:parser.statusCode andErrorMessage:[parseError localizedDescription]];
    }        
}

2 个答案:

答案 0 :(得分:6)

替换

[self.delegate respondsToSelector:@selector(forwardGeocoderDidFail:withErrorMessage:)]

[self.delegate respondsToSelector:@selector(forwardGeocodingDidFail:withErrorCode:andErrorMessage:)]

答案 1 :(得分:1)

无论你设置什么,因为委托没有名为forwardGeocoderDidFail:withErrorMessage:的公共方法

导致您想要解决的警告的原因。

在下面的行中,您正在调用具有不同签名的方法。

forwardGeocoderDidFail: withErrorCode: andErrorMessage:

确保您的委托中的任何对象实际上实现了正确的方法,respondsToSelector实际上检查了您想要的那个。