【发布时间】:2011-08-21 01:55:30
【问题描述】:
我想使用我自己的委托方法。我遵循tutorial。但是是否必须使用我声明委托方法(协议定义)的类来调用该委托方法?我不能在不为我有协议定义的类创建对象的情况下调用吗?方法“delegate respondsToSelector:@selector”有什么用...?任何帮助请。?
【问题讨论】:
标签: iphone objective-c
我想使用我自己的委托方法。我遵循tutorial。但是是否必须使用我声明委托方法(协议定义)的类来调用该委托方法?我不能在不为我有协议定义的类创建对象的情况下调用吗?方法“delegate respondsToSelector:@selector”有什么用...?任何帮助请。?
【问题讨论】:
标签: iphone objective-c
方法有什么用 “代表 respondsToSelector:@selector"…?
在objective-c中,您可以向任何对象发送任何消息,但是如果对象无法响应它,那么您的程序可能会崩溃-因此,如果您不确定某个对象是否响应某个选择器,那么您可以(并且应该)在运行时使用respondsToSelector: 方法检查它——它可以让你免于很多麻烦。
您也不必声明协议,但它们是确保某种类型的对象在编译时响应选择器的好方法。
【讨论】:
另请参阅 Apple 的 Communicating with Objects,其中讨论了委托、协议和选择器。尽管它在 Mac OS X 下列出,但大多数(如果不是全部)似乎也适用于 iOS。
【讨论】: