我想使用自己的委托方法。我遵循tutorial。但是我必须使用我已声明委托方法(协议定义)的类来调用该委托方法吗?我不能在没有为我有协议定义的类创建对象的情况下调用它? “委托respondsToSelector:@selector”方法有什么用?......任何帮助都可以。?
答案 0 :(得分:2)
该方法的用途是什么 “代表 respondsToSelector:@selector“...
在objective-c中,您可以向任何对象发送任何消息,但如果对象无法响应它,那么您的程序可能会崩溃 - 所以如果您不确定某个对象是否响应某个选择器那么您可以(和应该使用respondsToSelector:
方法在运行时检查它 - 它可以避免很多麻烦。
您也不必声明协议,但它们是确保某些类型的对象在编译时响应选择器的好方法。
答案 1 :(得分:0)
另请参阅Apple的Communicating with Objects,其中讨论了委托,协议和选择器。虽然它在Mac OS X下列出,但大多数(如果不是全部)似乎也适用于iOS。