我正在开发一个iOS应用程序,我发现,在使用设备和模拟器进行Xcode调试时,有时会遇到一些断点,即使它们是在被调用一次的方法中设置的
例如,我在一行代码中设置了一个断点,该代码调用了Notification Center的postNotificationName:
,并且这个断点达到了一次,但我在这种通知的接收者处设置的断点达到了两次。它是同一个线程。
以类似的方式,我有时会发现返回对象的return
行方法也会多次到达,即使只调用一次方法,首先使用nil
值返回对象,然后object在后续断点停止时获取预期值。断点也表示同一个线程。
为什么会发生这种情况?我做错了什么,还是有其他解释?
由于
编辑:我发现了相反的情况......我调用了一个执行sqlite3
操作的方法:它从表中选择一些行,并且方法用于返回数组与对应于我得到的行的对象。我在方法的开始处设置了断点,在return
行设置了另一个断点。我调用该方法一次,并且在方法开始时的断点处停止一次,但它在return
行停止两次。第一次,我想要返回的数组具有期望值,第二次,它变为nil
,所以最后我从方法中获得nil
返回值。 return
行的断点表示第一次是“线程1:断点15.1”,第二次是“线程1:断点15.2”。我不明白这种行为。