如何解决此警告?
警告是“未声明的选择器'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]];
}
}
答案 0 :(得分:6)
替换
[self.delegate respondsToSelector:@selector(forwardGeocoderDidFail:withErrorMessage:)]
与
[self.delegate respondsToSelector:@selector(forwardGeocodingDidFail:withErrorCode:andErrorMessage:)]
答案 1 :(得分:1)
无论你设置什么,因为委托没有名为forwardGeocoderDidFail:withErrorMessage:
的公共方法
导致您想要解决的警告的原因。
在下面的行中,您正在调用具有不同签名的方法。
forwardGeocoderDidFail: withErrorCode: andErrorMessage:
确保您的委托中的任何对象实际上实现了正确的方法,respondsToSelector
实际上检查了您想要的那个。