无法识别的Selector发送给实例的快速排错法

How to solve

Unrecognized selector sent to instance…应该是iOS开发中比较常见的一种问题,但是一般这种错误的报错会指向main.m,一时间很难找到是哪个对象发生了问题。这时,我们可以下一个Debug断点。

在Xcode的菜单栏中选择Debug -> Breakpoints -> Create Symbolic Breakpoint…,在弹出的标签的Symbol栏填入

-[NSObject(NSObject) doesNotRecognizeSelector:]

这时再次运行就会发现真正出现问题的地方了。

Example

今天在给WebView的一个属性赋值的时候一直报错。如果初始化WebView时不涉及这个属性的话,则不会出现问题。虽然我已经定位了问题的所在,但是如何解决依然没有头绪。添加断点后立刻发现,给这个属性传入的对象的某个属性出现了循环引用,改成weak后解决了问题。

ZHRMoe Studio, 2016.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 6 = 2