不可重现的崩溃:[__ NSArrayI enumerateObjectsUsingBlock:]:发送到实例的无法识别的选择器

时间:2015-06-10 13:50:02

标签: ios objective-c

我不断收到崩溃报告并发生以下崩溃:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI enumerateObjectsUsingBlock:]: unrecognized selector sent to instance

什么可能引发此次崩溃?一个空数组或者根本不是数组的东西?我自己无法重现崩溃,我只能在崩溃日志中看到它。

1 个答案:

答案 0 :(得分:0)

你很可能有内存问题,你无法定期重现它也会引起内存问题。

你得到的错误是,“我们试图在这个对象上调用这个方法,你有一个指针,不幸的是,对象不是你告诉我它的对象类型。”

我真的只能根据您提供的信息进行推测。在您的代码中进行非常精细的梳理,确保在崩溃发生之前不要更改该对象。

尝试添加调试检查以确保其正确的类。 NSAsserts是 NOT 解决方案,它们甚至没有编译到生产应用程序中,但它应该有助于找到错误的原因。

NSAssert([myObject isKindOfClass:[NSArray class]], @"aw snap its not an array!");

发布更多信息,我可以尝试进一步提供帮助