2011-12-29 161 views
0

如果一个消息被发送到一个对象,但该对象没有实现该方法,那么下一步是什么?对象没有实现方法

+0

检查对象respondsToSelector方法,请参阅NSObject的协议参考更多信息http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject。 HTML – 0x8badf00d 2011-12-29 08:49:10

回答

0

你会得到一个例外。它应该告诉你选择器(消息)是什么,所以当你调用方法时,或者当你在对象的类中声明方法时,检查是否拼写错误。

1

发生崩溃,由无法识别的选择器发送给实例。

0

您应该首先打电话给respondsToSelector:以解决这种情况。这样你可以处理对象不响应的情况。

if([object respondsToSelector:@selector(method)] 
    { 
     //code here 
    } 
else 
    { 
     //code here 
    }