【发布时间】:2011-12-29 08:43:32
【问题描述】:
如果向一个对象发送消息,但该对象没有实现该方法,下一步是什么?
【问题讨论】:
-
检查对象是否响应选择器方法,更多信息请参考 NSObject 协议参考developer.apple.com/library/mac/#documentation/Cocoa/Reference/…
如果向一个对象发送消息,但该对象没有实现该方法,下一步是什么?
【问题讨论】:
由发送到实例的无法识别的选择器引起的崩溃。
【讨论】:
你会得到一个例外。它应该告诉您选择器(消息)是什么,因此请检查您是否在调用方法时或在对象的类中声明方法时拼错了它。
【讨论】:
您应该首先在对象上调用respondsToSelector: 来解决这种情况。这样您就可以处理对象不响应的情况。
if([object respondsToSelector:@selector(method)]
{
//code here
}
else
{
//code here
}
【讨论】: