自从我几个月前开始构建我的第一个iPhone程序以来,我收到了此消息。'-respondsToSelector:'在协议中找不到
我想检查委托是否实现给定的方法。它有效,但我得到这个警告。
我该如何正确地做到这一点?
自从我几个月前开始构建我的第一个iPhone程序以来,我收到了此消息。'-respondsToSelector:'在协议中找不到
我想检查委托是否实现给定的方法。它有效,但我得到这个警告。
我该如何正确地做到这一点?
respondsToSelector:
方法在NSObject
协议中声明。您必须确保您的自定义协议也符合NSObject
协议。
@protocol MyCustomProtocol
...
@end
到:从改变你的自定义协议的声明
@protocol MyCustomProtocol <NSObject>
...
@end
我想respondsToSelector是一个NSObject的方法,我猜你有类似id<MyProtocol>
作为类型?尝试NSObject*<MyProtocol>
。
这是一种解决方法,而不是解决方案。正确的解决方案如上所述:使用NSObject作为协议定义的一部分。 – phatmann 2013-04-02 18:49:48