'-respondsToSelector:'在协议中找不到

时间:2010-06-17 11:56:53

标签: iphone objective-c selector warnings

自从几个月前我开始构建我的第一个iPhone程序以来,我收到了这条消息。

我想检查一个委托是否实现了一个给定的方法。它有效,但我得到了这个警告。

我该怎么做正确的方法?

2 个答案:

答案 0 :(得分:99)

respondsToSelector:方法在NSObject协议中声明。您必须确保自定义协议也符合NSObject协议。从以下位置更改自定义协议的声明:

@protocol MyCustomProtocol
...
@end

为:

@protocol MyCustomProtocol <NSObject>
...
@end

答案 1 :(得分:3)

我认为respondsToSelector是NSObject的一种方法,我猜你有类似id<MyProtocol>之类的东西?试试NSObject*<MyProtocol>