在 iOS 开发中,有时是不可避免的发生一些错误,通过对错误信息的解读,往往对我们定位 bug 会有很大的帮助。
常见的错误提示信息有:
"EXC_BAD_ACCESS"
(此错误信息)表示发生了也指针错误。
"unrecognized selector send to instance"
(此错误信息)表示某个对象调用了不存在的方法(即该方法只进行了声明,却没有实现就拿来调用了)。
在 Objective-C 中有一种机制可以用来判断某个对象是否实现了某个方法。如
if ([_delegate respondsToSelector:@Selector(method)]) //判断对象 '_delegate' 是否实现了方法'mehtod'
{
[_delegate method];
}
此法常用于protocol (Delegate 模式)
补充:用于判断某一对象是否“遵守”(实现)某一协议,如
if ([stu conformsToProtocol:@Protocol(DelegateName)]) //用于判断对象 'stu' 是否遵守协议 'DelegateName'
{
}
如需转载,请说明博文出处。谢谢!