我有时会收到此错误:
*** Terminating app due to uncaught exception 'NSGenericException', reason:
'*** Collection <__NSArrayM: 0x170057580> was mutated while being enumerated.'
我知道我在使用快速枚举时正在改变数组,但我无法弄清楚如何识别 where 这个问题。堆栈跟踪绝对没有显示任何内容,除了随机设置断点和猜测,直到找到它,我无法找到一个很好的方法来消除这种情况。
我可以做某种断点魔术,编译器会告诉我这发生了什么吗?或者我可以使用NSZombies以某种方式识别这个?任何帮助将不胜感激。
答案 0 :(得分:4)
了解如何设置异常断点:
但是在最新的Xcode中你只需要执行以下步骤:
在断点导航器的左下角,单击“添加”按钮。
选择Add Exception Breakpoint。
然后在断点导航器
中获取此信息
现在,您的代码将在抛出异常时而不是在捕获异常时中断。您应该能够导航调用堆栈,以查看代码中发生异常的位置。