自从几个月前我开始构建我的第一个iPhone程序以来,我收到了这条消息。
我想检查一个委托是否实现了一个给定的方法。它有效,但我得到了这个警告。
我该怎么做正确的方法?
答案 0 :(得分:99)
respondsToSelector:
方法在NSObject
协议中声明。您必须确保自定义协议也符合NSObject
协议。从以下位置更改自定义协议的声明:
@protocol MyCustomProtocol
...
@end
为:
@protocol MyCustomProtocol <NSObject>
...
@end
答案 1 :(得分:3)
我认为respondsToSelector是NSObject的一种方法,我猜你有类似id<MyProtocol>
之类的东西?试试NSObject*<MyProtocol>
。